//	Trim function
	function Trim(s) {
	  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
		s = s.substring(1,s.length);
	  }
	  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
		s = s.substring(0,s.length-1);
	  }
	  return s;
	}

//	IsNumeric function
	function IsNumeric(strString)		//  check for valid numeric strings	
	{
		var strValidChars = "0123456789.";
		var strChar;
		var blnResult = true;
		if (strString.length == 0) return false;
		for (i = 0; i < strString.length && blnResult == true; i++) {
			strChar = strString.charAt(i);
			if (strValidChars.indexOf(strChar) == -1) {
			 blnResult = false;
			}
		}
		return blnResult;
	}

//	Check date input function
	function IsChkDate(strString)		//  check for valid numeric strings	
	{
		var strValidChars = "0123456789/";
		var strChar;
		var blnResult = true;
		if (strString.length == 0) return false;
		for (i = 0; i < strString.length && blnResult == true; i++) {
			strChar = strString.charAt(i);
			if (strValidChars.indexOf(strChar) == -1) {
			 blnResult = false;
			}
		}
		return blnResult;
	}

//	Is Valid Email function
	function IsvalidEmail(mailid) 
	{		
			var str=mailid;
			var flag=true;
			var at="@";
			var dot=".";
			var lat=str.indexOf(at)
			var lstr=str.length
			var ldot=str.indexOf(dot)
			if (str.indexOf(at)==-1) {
				flag=false;
			}
			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
				flag=false;
			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
				flag=false;
			if (str.indexOf(at,(lat+1))!=-1)
				flag=false;
			if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
				flag=false;
			if (str.indexOf(dot,(lat+2))==-1)
				flag=false;
			if (str.indexOf(" ")!=-1)
				flag=false;
			 if(flag)
				return true;
			 else
			 return false;
	}

//	Is Numeric on Keypress
	function isKeyNumeric() {
		if(event.keyCode < 48 || event.keyCode > 58)
			event.keyCode=0;
	}
//	Is Date on Keypress
	function isKeyDate() {
		if(event.keyCode < 47 || event.keyCode > 58)
			event.keyCode=0;
	}

//	Mid function
	function Mid(String, Start, Length){
		if (String == null)
			return (false);
		if (Start > String.length)
			return '';
		if (Length == null || Length.length == 0)
			return (false);
		return String.substr((Start - 1), Length);
	}

//	Instr function
	function InStr(String1, String2){
		if (String1 == null || String2 == null)
			return (false);	
		String1 = String1.toLowerCase();
		String2 = String2.toLowerCase();
		a = String1.indexOf(String2);
		if (a == -1)
			return false;
		else
			return true;
	}
function enableSignup() 
{
	frm=document.forms[0]
	if(frm.cbox.checked)
		{frm.cmd_submit.disabled=false}
	else 
		{frm.cmd_submit.disabled=true}
}
function removeOptions(selboxobj) {
	if(selboxobj) {
		selboxobj.options.length = 1;
		selboxobj[0].selected = true;
	}
}
function js_formvalidate(frmobj) {
	var i;
	var nullflag = true;
	for(i=0; i<frmobj.elements.length; i++) {
		if(frmobj.elements[i].type=="checkbox" && frmobj.elements[i].getAttribute("req") == "yes" && frmobj.elements[i].checked==false) {
			if(frmobj.elements[i].getAttribute("caption") != null)
				alert("Please complete '"+ frmobj.elements[i].getAttribute("caption") +"'.");
			else
				alert("Please complete '"+ frmobj.elements[i].getAttribute("name") +"'.");
			return false;
		}
		if(frmobj.elements[i].getAttribute("req") == "yes" && frmobj.elements[i].value=="") {
			if(frmobj.elements[i].getAttribute("caption") != null)
				alert("Please complete '"+ frmobj.elements[i].getAttribute("caption") +"'.");
			else
				alert("Please complete '"+ frmobj.elements[i].getAttribute("name") +"'.");
			if(frmobj.elements[i].type != "hidden")
				frmobj.elements[i].focus();
			return false;
		}
		if(frmobj.elements[i].getAttribute("objtype") == "email" && frmobj.elements[i].value != "" && (!validateEmailv2(frmobj.elements[i].value))) {
			alert(frmobj.elements[i].getAttribute("caption") + " - Please enter a valid email address.");
			frmobj.elements[i].focus();
			return false;
		}
		if(frmobj.elements[i].getAttribute("objtype") == "number" && frmobj.elements[i].value != "" && frmobj.elements[i].getAttribute("objmode") == "int" && (!IsInteger(frmobj.elements[i].value))) {
			alert(frmobj.elements[i].getAttribute("caption") + " - Please enter a valid number consisting of numeric characters.");
			frmobj.elements[i].focus();
			return false;
		} else if(frmobj.elements[i].getAttribute("objtype") == "number" && frmobj.elements[i].value != "" && (!IsNumeric(frmobj.elements[i].value))) {
			alert(frmobj.elements[i].getAttribute("caption") + " - Please enter a valid number consisting of numeric characters and decimal point only.");
			frmobj.elements[i].focus();
			return false;
		}
		if( frmobj.elements[i].getAttribute("objtype") != "number" && frmobj.elements[i].getAttribute("maximumlength")!= null && frmobj.elements[i].getAttribute("maximumlength") < frmobj.elements[i].value.length ) {
			alert("Please enter less than " + frmobj.elements[i].getAttribute("maximumlength") + " characters in '" + frmobj.elements[i].getAttribute("caption") + "'.");
			frmobj.elements[i].focus();
			return false;
		}
		if(frmobj.elements[i].getAttribute("objtype") == "number" && frmobj.elements[i].value != "" && frmobj.elements[i].getAttribute("maximumlength")!= null) {
			var numflg = false;
			var desflg = false;
			maximumlength = frmobj.elements[i].getAttribute("maximumlength");
			fldvalue = frmobj.elements[i].value;
			max = maximumlength.split(",");
			fldvalues = fldvalue.split(".");
			
			if(max[1])
				max[0] = parseInt(max[0]) - (parseInt(max[1]) +1);
			if(max[0] < fldvalues[0].length)
				numflg = true;
			if((fldvalues[1]) && (max[1] < fldvalues[1].length))
				desflg = true;
			if(numflg || desflg) {
				alert(frmobj.elements[i].getAttribute("caption") + " - Please enter a number consisting of less than " + max[0] + " digits before the decimal point and " + max[1] + " digits after the decimal point");
				frmobj.elements[i].focus();
				return false;
			}
		}
	}
	return true;
}
function get_length(arrayobj)
{
	if(arrayobj.length=="") {
		var i = 0
		for(key in arrayobj) {
			i++;
		}
		return i;
	} else {
		return arrayobj.length;
	}
}
function get_key(arrayobj, val) {
	for(var key in arrayobj){
		if(arrayobj[key] == val) {
			return key;
		}
	}
}

function unset_key(arrayobj,delkey) {
	temp = new Array();
	if(arrayobj.length=="") {
		for(key in arrayobj){
			if(key!=delkey) {
				temp[key] = arrayobj[key];
			}
		}
	} else {
		var j=0
		for (i=0;i<arrayobj.length;i++ )
		{
			if(i != delkey) {
				temp[j++] = arrayobj[i];
			}
		}
	}
	return temp;
}
function manual_sort(arrayobj) {
	temp = new Array();
	temp_new = new Array();
	i=0;
	for(var key in arrayobj){
			temp[i++] = arrayobj[key];
	} 
	temp.sort();
	for(var key in temp){
		oldkey = get_key(arrayobj, temp[key]);
		temp_new[oldkey] = temp[key];
	}
	return temp_new;
}
function remove_postsmartform(divid, arykey) {
	window.mfmobj[divid] = unset_key(window.mfmobj[divid],arykey);
	build_postsmartform(divid);
	return false;
}
function build_postsmartform(divid) {
	mfmlen = get_length(window.mfmobj[divid]);
	var i = 0;
	var str = "";
	window.mfmobj[divid] = manual_sort(window.mfmobj[divid]);
	str = str + '<table height="25" border="0" cellpadding="0" cellspacing="0">';
	if(mfmlen!=0) {
		for(key in window.mfmobj[divid]) {
			i++;
			var mfm_id = key.replace("mfm_","");
				if(i == 1)
					str = str + '<tr><td style="padding-right:10px;padding-bottom:5px;"><img src="img/icon_attach.gif" width="16" height="16" align="absmiddle">'+ window.mfmobj[divid][key] +'&nbsp;</td><td nowrap style="padding-bottom:5px;">&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onclick="javascript:return remove_postsmartform(\''+ divid +'\', \''+ key +'\')" TABINDEX="-1">Delete</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="sh_doc_mgmt.php?type=att&att_id='+mfm_id+'" target="_blank" title="" TABINDEX="-1">View Logo</a></td></tr>';
				else
					str = str + '<tr><td nowrap style="padding-right:10px;padding-bottom:5px;"><img src="img/icon_attach.gif" width="16" height="16" align="absmiddle">'+ window.mfmobj[divid][key] +'&nbsp;</td><td nowrap style="padding-bottom:5px;">&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onclick="javascript:return remove_postatt(\''+ divid +'\', \''+ key +'\')" TABINDEX="-1">Delete</a></td></tr>';
				str = str + '<tr><td height="2" colspan=2></td></tr>';
				str = str + '<input type="hidden" name="'+ divid +'[]" id="'+ window.mfmobj[divid+"_id"] +'" value="'+ mfm_id +'" '+ window.mfmobj[divid+"_att"] +'>';
				window.mfmobj[divid][key]=window.mfmobj[divid][key];
		}
	}else{
		str = str + '<tr><td><a href="javascript:void(0);" onclick="javascript:return add_attach(\'\')" TABINDEX="-1">Add Logo</a></td></tr>';
	}
	str = str + '</table>';
	window.document.getElementById(divid +"_divval").innerHTML = str;
}

function remove_postatt(divid, arykey) {
	window.mfm[divid] = unset_key(window.mfm[divid],arykey);
	build_postatt(divid);
	return false;
}

function build_postatt(divid) {
	mfmlen = get_length(window.mfm[divid]);
	var i = 0;
	var str = "";
	window.mfm[divid] = manual_sort(window.mfm[divid]);
	str = str + '<table height="25" border="0" cellpadding="0" cellspacing="0">';
	if(mfmlen!=0) {
		for(key in window.mfm[divid]) {
			i++;
			var mfm_id = key.replace("mfm_","");
				if(i == 1)
					str = str + '<tr><td style="padding-right:10px;padding-bottom:5px;"><img src="img/icon_attach.gif" width="16" height="16" align="absmiddle">'+ window.mfm[divid][key] +'&nbsp;</td><td nowrap style="padding-bottom:5px;">&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onclick="javascript:return remove_postatt(\''+ divid +'\', \''+ key +'\')" TABINDEX="-1">Delete</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="javascript:void(0);" onclick="javascript:return add_attach(\''+document.getElementById("hid_formid").value+'\',\''+document.getElementById("hid_companyid").value+'\');" TABINDEX="-1">Add Another</a></td></tr>';
				else
					str = str + '<tr><td nowrap style="padding-right:10px;padding-bottom:5px;"><img src="img/icon_attach.gif" width="16" height="16" align="absmiddle">'+ window.mfm[divid][key] +'&nbsp;</td><td nowrap style="padding-bottom:5px;">&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:void(0);" onclick="javascript:return remove_postatt(\''+ divid +'\', \''+ key +'\')" TABINDEX="-1">Delete</a></td></tr>';
				str = str + '<tr><td height="2" colspan=2></td></tr>';
				str = str + '<input type="hidden" name="'+ divid +'[]" id="'+ window.mfm[divid+"_id"] +'" value="'+ mfm_id +'" '+ window.mfm[divid+"_att"] +'>';
				window.mfm[divid][key]=window.mfm[divid][key];
		}
	}else{
		str = str + '<tr><td><a href="javascript:void(0);" onclick="javascript:return add_attach()" TABINDEX="-1">Add attachment</a></td></tr>';
	}
	str = str + '</table>';
	window.document.getElementById(divid +"_divval").innerHTML = str;
}
function in_array(val, arrayobj) {
	for(var key in arrayobj){
		if(val == arrayobj[key]) {
			return true;
			break;
		}
	}
	return false;
}
function isKeyNumber(event) {
	var code = (event.keyCode)?event.keyCode:event.charCode;
	if((code < 48 || code > 58) && (code!=8 && code!=9 && code!=46)) 
		return false;
	else
		return true;
}
function isKeyNumberinteger(event) {
	var code = (event.keyCode)?event.keyCode:event.charCode;
	if((code < 48 || code > 58) && (code!=8 && code!=9)) 
		return false;
	else
		return true;
}

function IsInteger(strString) {		//  check for valid Integer strings	
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;
	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}

function IsFloat(strString) {		//  check for valid Integer strings	
	var strValidChars = "0123456789.";
	var strChar;
	var blnResult = true;
	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}
