var email_regexp = /^[a-zA-Z][a-zA-Z_0-9\-\.]*@[a-zA-Z][a-zA-Z_0-9\-]*(\.[a-zA-Z][a-zA-Z_0-9\-]*)+$/;

var phone_no_regexp = /^([0-9](-)?(\s)?)*$/;

var date_regexp = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;

var floating_num_regexp = /^[\-]?[0-9]+(\.([0-9]+)?)?$/;

var string_regexp = /^([a-zA-Z\s])+$/;

var integer_regexp = /^[0-9]+$/;


function get_multiple_selected_value(p_select)
{
	var x;
	var selected_value="";
	for(x=0;x<p_select.length;x++){
		if(p_select[x].selected){
			if(selected_value.length==0){
				selected_value=p_select[x].value;
			}else{
				selected_value+="|"+p_select[x].value;
			}
		}
	}
	return selected_value;

}

function get_radio_value(p_radio){
	var x;

	for(x=0;x<p_radio.length;x++){
		if(p_radio[x].checked){
			return p_radio[x].value;
		}
	}
	return "";

}


function get_checked_value(p_object){
	var x;


	var to_ret="";
	for(x=0;x<p_object.length;x++){
		if(p_object[x].checked){
			if(to_ret.length>0){
				to_ret+="|";
			}
			to_ret+=p_object[x].value;
		}
	}
	return to_ret;

}

function get_selected_value(p_select)
{
	var x;
	for(x=0;x<p_select.length;x++){
		if(p_select[x].selected){
			return p_select[x].value;
		}
	}
	return "";

}

function get_selected_number(p_select)
{
	var x;
	var a = 0;
	for(x=0;x<p_select.length;x++){
		if(p_select[x].selected){
			a++;
		}
	}
	return a;

}

function get_selected_option_value(p_select)
{
	var x;
	for(x=0;x<p_select.length;x++){
		if(p_select[x].selected){
			return p_select.options[x].text;
		}
	}
	return "";

}

function get_selected_option_array(p_select)
{
	var x;
	var y = 0;
	var ret_value = '';

	for(x=0;x<p_select.length;x++)
	{
		if(p_select[x].selected)
		{
			if (y==0)
			{
				ret_value = p_select.options[x].text;
			}
			else
			{
				ret_value += "||" + p_select.options[x].text;
			}
			y++;
		}
	}
	return ret_value;

}


function trim(inputString) {
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
	  retValue = retValue.substring(1, retValue.length);
	  ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
	  retValue = retValue.substring(0, retValue.length-1);
	  ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
	  retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   }
   return retValue; 
}

function check_date(p_text)
{
	var temp_value=trim(p_text.value);
	var list_value;

	if(temp_value.length==""){
		return false;
	}else{
		list_value=temp_value.split("/");
		if(list_value.length!=3){
			return false;
		}else{


			if(list_value[0]<1||list_value[0]>31){
				return false;
			}else if (list_value[1]<1||list_value[1]>12){
				return false;
			}else if (list_value[2]<1900||list_value[2]>2100){
				return false;
			}


		}
	}
	return true;


}


// date_to_check format: dd/mm/yyyy
function check_today_onwards(date_to_check)
{
	var today = new Date();
	var today = new Date(today.getFullYear(), today.getMonth(), today.getDate());

	date_array = date_to_check.split('/');
	var check_date = new Date(date_array[2], date_array[1]-1, date_array[0]);

	if (check_date.getTime() < today.getTime())
	{
		return false;
	}

	return true;
}

// date_value format: dd/mm/yyyy
function convert_to_timestamp(date_value)
{
	date_array = date_value.split('/');
	var date = new Date(date_array[2], date_array[1]-1, date_array[0]);

	return date.getTime();
}


// date_value format: "dd/mm/yyyy tt:mm am"
/*
function convertion_to_timestamp(date_value)
{
	var first_split = date_value.split(' ');
	var date = first_split[0];
	var time = first_split[1];

	date_array = date.split('/');
	time_array = time.split(':');
	date = new Date(date_array[2], date_array[1]-1, date_array[0], time_array[0], time_array[1], 0);

	return date.getTime();
}
*/

function convertion_to_timestamp(date_value)
{
	var first_split = date_value.split(' ');
	var date = first_split[0];
	var time = first_split[1];

	date_array = date.split('/');
	time_array = time.split(':');

	if ((first_split[2] == 'PM' || first_split[2] == 'pm') && time_array[0] != 12)
	{
		time_array[0] += 12;
	}

	if ((first_split[2] == 'AM' || first_split[2] == 'am') && time_array[0] == 12)
	{
		time_array[0] = 0;
	}

	date = new Date(date_array[2], date_array[1]-1, date_array[0], time_array[0], time_array[1], 0);

	return date.getTime();
}


function check_time(p_text)
{
	var temp_value=trim(p_text.value);
	var temp_date, temp_time;
	var list_value;

	if(temp_value.length==""){
		return false;
	}else{

		

		list_value=temp_value.split(" ");
		if(list_value.length!=2){
			return false;
		}else{
			temp_time=list_value[0].split(":");
			temp_date=list_value[1].split("/");

			if(temp_time.length!=2){
				return false;
			}else if(temp_time[0]<0||temp_time[0]>24){
				return false;
			}else if(temp_time[1]<0||temp_time[1]>60){
				return false;
			}else if(temp_date.length!=3){
				return false;
			}else if(temp_date[0]<1||temp_date[0]>31){
				return false;
			}else if (temp_date[1]<1||temp_date[1]>12){
				return false;
			}else if (temp_date[2]<1900||temp_date[2]>2100){
				return false;
			}


		}
	}
	return true;


}


//this function move option selected from p_select_from to p_select_to
function move_select_option(p_select_from, p_select_to)
{
	//get the selected value in from and remove it
	var list_selected=new Array();
	var list_not_selected=new Array();

	var x,y,z;
	for(x=0,y=0,z=0;x<p_select_from.length;x++)
	{
		if(p_select_from[x].selected){
			list_selected[y]=new Array();
			list_selected[y][0]=p_select_from[x].value;
			list_selected[y][1]=p_select_from[x].text;
			y++
		}else{
			list_not_selected[z]=new Array();
			list_not_selected[z][0]=p_select_from[x].value;
			list_not_selected[z][1]=p_select_from[x].text;
			z++;

		}
	}
	//clear the select and repopulate
	p_select_from.options.length=0;
	for(x=0;x<list_not_selected.length;x++)
	{
		p_select_from.options[x]= new Option(list_not_selected[x][1],list_not_selected[x][0]);
	}

	//add the selected to the other select
	for(x=p_select_to.length, y=0;y<list_selected.length; x++, y++)
	{
		p_select_to.options[x]= new Option(list_selected[y][1],list_selected[y][0]);
	}

}

function check_email(p_value)
{
	if (p_value.length=="" || !((p_value.indexOf(".") > 1) && (p_value.indexOf("@") > 0)) ){
		return false;
	}else {
		return true;
	}

}


function hide_element(p_id)
{
	var to_eval;

//	to_eval="document.all."+p_id+".style.display ='none';";
//	eval(to_eval);

	to_eval="temp_obj=document.getElementById('"+p_id+"');";
	eval(to_eval);

	temp_obj.style.display ='none';

}
function show_element(p_id)
{
	var to_eval;
//	to_eval="document.all."+p_id+".style.display ='';";
//	eval(to_eval);
	to_eval="temp_obj=document.getElementById('"+p_id+"');";
	eval(to_eval);
	temp_obj.style.display ='';

}


function open_popup(p_url)
{
	win=window.open(p_url, "", "width=450, height=200, resizable=yes, scrollbars=yes, menubar=yes");
	win.focus();
}

//format decimal to currency
function dec_to_currency(tempnum){
	var prefix="$"
	var wd
	wd="w"
	for (i=0;i<tempnum.length;i++){
		if (tempnum.charAt(i)=="."){
			wd="d"
			break
		}
	}
	if (wd=="w")
		 return prefix+tempnum+".00"
	else{
		if (tempnum.charAt(tempnum.length-2)=="."){
			return prefix+tempnum+"0"
		}
		else{
			tempnum=Math.round(tempnum*100)/100
			return prefix+tempnum
		}
	}
}

//delete an index from array
function remove_entry(p_array, p_index)
{
	var x,y;
	var new_array=new Array();
	for(x=0,y=0;x<p_array.length;x++,y++)
	{
		if(x!=p_index)
		{
			new_array[y]=p_array[x];
		}else{
			y--;
		}
	}
	return new_array;


}

function check_zip_file(p_file_name)
{
	var arr_name=p_file_name.split(".");
	if(arr_name[arr_name.length-1]=="zip"){
		return true;
	}else{
		return false;
	}


}

/* text box automated select values */

var sfsIndex = new Object;
sfsIndex.populated = false;

/*
	Typing a name into the Member Name entry field will scroll the 
	Member Name select field to a matching member name (if any).
*/
function sfsComplete (text_id, select_id) {
	if (!document.getElementById) return;
	var text   = document.getElementById(text_id);
	var select = document.getElementById(select_id);

	if (!sfsIndex.populated) sfsBuildIndex(select_id);

	var suburb = text.value.match(/,*([^,]+)$/);
	if (suburb) {
		var name = suburb[1].toUpperCase().replace(/^\s* /, '').replace(/\s*$/, '');
		for (var i = sfsIndex[name.charAt(0)]; i < select.options.length; i++) {
			if (select.options[i].text.toUpperCase().indexOf(name) == 0) {
				select.selectedIndex = i;
				break;
			}
			else {
				select.selectedIndex = 0;
			}
		}
	}
}

/*
	Builds an index based on the first occurrence of member name starting with a
	letter. This speeds up the 'for' search of the select because we can
	then skip straight to member names starting with that letter.
*/
function sfsBuildIndex (select_id) {
	if (!document.getElementById) return;
	var select = document.getElementById(select_id);
	for (var i = select.options.length; i--;) {
		sfsIndex[select.options[i].text.toUpperCase().charAt(0)] = i;
	}
	sfsIndex.populated = true;
}


/* onchange in select, put value in text box*/
function sfsInsert(select_id, text_id)
{
	var select = document.getElementById(select_id);
	var text = document.getElementById(text_id);
	text.value = select.options[select.selectedIndex].text;
}












/* flash detector */

	var requiredVersion = 6;
	var useRedirect = false; 
	var flash2Installed = false; 
	var flash3Installed = false; 
	var flash4Installed = false; 
	var flash5Installed = false; 
	var flash6Installed = false; 
	var maxVersion = 6;          
	var actualVersion = 0;       
	var hasRightVersion = false; 
	var jsVersion = 1.0;         
	var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;   
	var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;

	jsVersion = 1.1;
	if(isIE && isWin){
	  document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	  document.write('on error resume next \n');
	  document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
	  document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
	  document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
	  document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
	  document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
	  document.write('</SCR' + 'IPT\> \n');
	}


	function detectFlash()
	{  
	  if (navigator.plugins)
	  {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
		{
		  var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
		  var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
		  var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
		  flash2Installed = flashVersion == 2;    
		  flash3Installed = flashVersion == 3;
		  flash4Installed = flashVersion == 4;
		  flash5Installed = flashVersion == 5;
		  flash6Installed = flashVersion >= 6;
		}
	  }
		for (var i = 2; i <= maxVersion; i++) {	
			if (eval("flash" + i + "Installed") == true) actualVersion = i;
		}
		if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 2;	
		if (actualVersion >= requiredVersion) { 		
			hasRightVersion = true;					
			if (useRedirect) {							
				if(jsVersion > 1.0) {					
					window.location.replace(flashPage);	
				} else {
					window.location = flashPage;		
				}
			}
		} else {	
		
			if (useRedirect) {		
				if(jsVersion > 1.0) {	
					window.location.replace((actualVersion >= 2) ? upgradePage : noFlashPage);
				} else {
					window.location = (actualVersion >= 2) ? upgradePage : noFlashPage;
				}
			}
		}
	}
	detectFlash();



	function write_map()
	{
		if (!useRedirect)
		{
			if (hasRightVersion)
			{
				document.write("<img alt='' src='http://202.6.86.174/idss/imgs/where_we_work.gif' usemap='#world' border='0'/>"
		               + "<map name='world'><area href='javascript:open_window();' coords='76,102,159,115' shape='RECT'/></map>");
			}
			else
			{
				document.write("<div style='padding-left: 10px;' align='left' valign='center' class='main'>No Flash Player Plugin is detected. Please go to " +
					           "<a href='http://www.macromedia.com/' target='_blank'>Macromedia Website</a> to download the plugin.</div>");
			}
		}		
	}

	function write_map_1()
	{
		if (!useRedirect)
		{
			if (hasRightVersion)
			{
				document.write("<a href='javascript:open_window();'><img title='Click to view' style='PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: 0px; PADDING-TOP: 0px' height='50' alt='' src='http://202.6.86.174/idss/imgs/where_we_work.gif' width='50' border='0'/></a>");
			}
			else
			{
				document.write("<div align='left' valign='center' class='main'><b>No Flash Player Plugin is detected. Please go to " +
			"<a href='http://www.macromedia.com/' target='_blank'><u>Macromedia Website</u></a> to download the plugin.</b></div><br>");
			}
		}
	}


 





