<?php 
ini_set("display_errors","1");
ini_set("display_startup_errors","1");
 
include("include/dbcommon.php");
header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
header("Pragma: no-cache");
header("Cache-Control: no-cache");

include("include/EmailTracker_variables.php");



$pageName = "add.php";
$filename="";
$status="";
$message="";
$usermessage="";
$error_happened=false;
$readavalues=false;


$showKeys = array();
$showValues = array();
$showRawValues = array();
$showFields = array();
$showDetailKeys = array();
$IsSaved = false;
$HaveData = true;

if(@$_REQUEST["editType"]=="inline")
	$inlineedit=ADD_INLINE;
elseif(@$_REQUEST["editType"]=="onthefly")
	$inlineedit=ADD_ONTHEFLY;
else
	$inlineedit=ADD_SIMPLE;
$keys=array();
if($inlineedit==ADD_INLINE)
	$templatefile = "EmailTracker_inline_add.htm";
else
	$templatefile = "EmailTracker_add.htm";

$id=postvalue("id");


include('include/xtempl.php');
$xt = new Xtempl();


//	Before Process event
if(function_exists("BeforeProcessAdd"))
	BeforeProcessAdd($conn);


// insert new record if we have to

if(@$_POST["a"]=="added")
{
	$afilename_values=array();
	$avalues=array();
	$blobfields=array();
	$files_move=array();
	$files_save=array();
//	processing RequestName - start
    
	$inlineEditOption = true;
	if($inlineEditOption)
	{
	$value = postvalue("value_RequestName");
	$type=postvalue("type_RequestName");
	if (FieldSubmitted("RequestName"))
	{
		$value=prepare_for_db("RequestName",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="RequestName";
		$avalues["RequestName"]=$value;
	}
	}
//	processibng RequestName - end
//	processing Email - start
    
	$inlineEditOption = true;
	if($inlineEditOption)
	{
	$value = postvalue("value_Email");
	$type=postvalue("type_Email");
	if (FieldSubmitted("Email"))
	{
		$value=prepare_for_db("Email",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="Email";
		$avalues["Email"]=$value;
	}
	}
//	processibng Email - end
//	processing Bib - start
    
	$inlineEditOption = true;
	if($inlineEditOption)
	{
	$value = postvalue("value_Bib");
	$type=postvalue("type_Bib");
	if (FieldSubmitted("Bib"))
	{
		$value=prepare_for_db("Bib",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="Bib";
		$avalues["Bib"]=$value;
	}
	}
//	processibng Bib - end
//	processing Athlete - start
    
	$inlineEditOption = true;
	if($inlineEditOption)
	{
	$value = postvalue("value_Athlete");
	$type=postvalue("type_Athlete");
	if (FieldSubmitted("Athlete"))
	{
		$value=prepare_for_db("Athlete",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="Athlete";
		$avalues["Athlete"]=$value;
	}
	}
//	processibng Athlete - end
//	processing MiscAthlete - start
    
	$inlineEditOption = true;
	$inlineEditOption = $inlineedit==ADD_INLINE;
	if($inlineEditOption)
	{
	$value = postvalue("value_MiscAthlete");
	$type=postvalue("type_MiscAthlete");
	if (FieldSubmitted("MiscAthlete"))
	{
		$value=prepare_for_db("MiscAthlete",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="MiscAthlete";
		$avalues["MiscAthlete"]=$value;
	}
	}
//	processibng MiscAthlete - end
//	processing WomensScores - start
    
	$inlineEditOption = true;
	$inlineEditOption = $inlineedit!=ADD_INLINE;
	if($inlineEditOption)
	{
	$value = postvalue("value_WomensScores");
	$type=postvalue("type_WomensScores");
	if (FieldSubmitted("WomensScores"))
	{
		$value=prepare_for_db("WomensScores",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="WomensScores";
		$avalues["WomensScores"]=$value;
	}
	}
//	processibng WomensScores - end
//	processing MensScores - start
    
	$inlineEditOption = true;
	$inlineEditOption = $inlineedit!=ADD_INLINE;
	if($inlineEditOption)
	{
	$value = postvalue("value_MensScores");
	$type=postvalue("type_MensScores");
	if (FieldSubmitted("MensScores"))
	{
		$value=prepare_for_db("MensScores",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="MensScores";
		$avalues["MensScores"]=$value;
	}
	}
//	processibng MensScores - end
//	processing MenTeamName - start
    
	$inlineEditOption = true;
	$inlineEditOption = $inlineedit!=ADD_INLINE;
	if($inlineEditOption)
	{
	$value = postvalue("value_MenTeamName");
	$type=postvalue("type_MenTeamName");
	if (FieldSubmitted("MenTeamName"))
	{
		$value=prepare_for_db("MenTeamName",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="MenTeamName";
		$avalues["MenTeamName"]=$value;
	}
	}
//	processibng MenTeamName - end
//	processing WomenTeamName - start
    
	$inlineEditOption = true;
	$inlineEditOption = $inlineedit!=ADD_INLINE;
	if($inlineEditOption)
	{
	$value = postvalue("value_WomenTeamName");
	$type=postvalue("type_WomenTeamName");
	if (FieldSubmitted("WomenTeamName"))
	{
		$value=prepare_for_db("WomenTeamName",$value,$type);
	}
	else
		$value=false;
	if(!($value===false))
	{


		$blobfields[]="WomenTeamName";
		$avalues["WomenTeamName"]=$value;
	}
	}
//	processibng WomenTeamName - end








	$failed_inline_add=false;
//	add filenames to values
	foreach($afilename_values as $akey=>$value)
		$avalues[$akey]=$value;
	
//	before Add event
	$retval = true;
	if(function_exists("BeforeAdd"))
		$retval=BeforeAdd($avalues,$usermessage,$inlineedit);
	if($retval)
	{
		if(DoInsertRecord($strOriginalTableName,$avalues,$blobfields))
		{
			$IsSaved=true;
//	after edit event
			if(function_exists("AfterAdd"))
			{
				foreach($keys as $idx=>$val)
					$avalues[$idx]=$val;
				AfterAdd($avalues,$keys,$inlineedit);
			}
		}
	}
	else
	{
		$message = $usermessage;
		$status="DECLINED";
		$readavalues=true;
	}
}

// PRG rule, to avoid POSTDATA resend
//if ($inlineedit==ADD_SIMPLE && @$_POST["a"]=="added"){
if (no_output_done() && $inlineedit==ADD_SIMPLE && $IsSaved){
 
	// saving message
	$_SESSION["message"] = ($message ? $message : "");
	// redirect
	header("Location: EmailTracker_".$pageName);
	// turned on output buffering, so we need to stop script
	exit();
}
// for PRG rule, to avoid POSTDATA resend. Saving mess in session
if ($inlineedit==ADD_SIMPLE  && isset($_SESSION["message"])){
	$message = $_SESSION["message"];
	unset($_SESSION["message"]);
}


$defvalues=array();


//	copy record
if(array_key_exists("copyid1",$_REQUEST) || array_key_exists("editid1",$_REQUEST))
{
	$copykeys=array();
	if(array_key_exists("copyid1",$_REQUEST))
	{
		$copykeys["ID"]=postvalue("copyid1");
	}
	else
	{
		$copykeys["ID"]=postvalue("editid1");
	}
	$strWhere=KeyWhere($copykeys);
	$strSQL = gSQLWhere($strWhere);

	LogInfo($strSQL);
	$rs=db_query($strSQL,$conn);
	$defvalues=db_fetch_array($rs);
	if(!$defvalues)
		$defvalues=array();
//	clear key fields
	$defvalues["ID"]="";
//call CopyOnLoad event
	if(function_exists("CopyOnLoad"))
		CopyOnLoad($defvalues,$strWhere);
}
else
{
	$defvalues["RequestName"]=$_SESSION["RequestName"];
	$defvalues["Email"]=$_SESSION["Email"];
	$defvalues["WomensScores"]="No";
	$defvalues["MensScores"]="No";
}




if($readavalues)
{
	$defvalues["RequestName"]=@$avalues["RequestName"];
	$defvalues["Email"]=@$avalues["Email"];
	$defvalues["Bib"]=@$avalues["Bib"];
	$defvalues["Athlete"]=@$avalues["Athlete"];
	$defvalues["WomensScores"]=@$avalues["WomensScores"];
	$defvalues["MensScores"]=@$avalues["MensScores"];
	$defvalues["MenTeamName"]=@$avalues["MenTeamName"];
	$defvalues["WomenTeamName"]=@$avalues["WomenTeamName"];
}
//for basic files
$includes="";
//for javascript code
$jscode="";
$bodyonload="";
$onsubmit="";
//////////////////////////////////////////////////////////////////	
//	Begin Add validation params for InlineAdd or Add or AddOnTheFly	
//	validation stuff
	$onsubmit="$('#message_block').html('');";
	$regex='';
	$regexmessage='';
	$regextype = '';
	$RTEfunc="";
	$needvalidate=false;
	$arrValidate = array();
//	for inlineAdd
	$addValidateTypes = array();
	$addValidateFields = array();
	$addValidateUseRTE = array();
	$addValidateCBList = array();	
	$addValidateRegex = array();
	$addValidateRegexmes = array();
	$addValidateRegexmestype = array();
//	Begin Add validation	
//if use InnovaEditor or RTE on pages add or addonthefly when useRTE will be with  -  "_FLY"
//if use InnovaEditor or RTE on page InineAdd when useRTE will be with out  -  "_FLY"		
if($inlineedit!=ADD_INLINE) 
{
	if($inlineedit!=ADD_ONTHEFLY)
	{
		AddJSFile("validate");
		if(@$_REQUEST["language"])
			$language = $_REQUEST["language"];
		// may be elseif ?
		if(@$_SESSION["language"])
			$language = $_SESSION["language"];
		else
			$language = 'English';
		
		$jscode.="window.current_language='".jsreplace($language)."';\r\n";
		
		$jscode.="addValid = new validation();\r\n";	
	}
	else	
		$jscode.="window.addFlyValid".$id." = new validation();\r\n";
				
	$jscode.="window.TEXT_INLINE_FIELD_REQUIRED='".jsreplace("Required field")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_ZIPCODE='".jsreplace("Field should be a valid zipcode")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_EMAIL='".jsreplace("Field should be a valid email address")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_NUMBER='".jsreplace("Field should be a valid number")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_CURRENCY='".jsreplace("Field should be a valid currency")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_PHONE='".jsreplace("Field should be a valid phone number")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_PASSWORD1='".jsreplace("Field can not be 'password'")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_PASSWORD2='".jsreplace("Field should be at least 4 characters long")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_STATE='".jsreplace("Field should be a valid US state name")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_SSN='".jsreplace("Field should be a valid Social Security Number")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_DATE='".jsreplace("Field should be a valid date")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_TIME='".jsreplace("Field should be a valid time in 24-hour format")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_CC='".jsreplace("Field should be a valid credit card number")."';\r\n";
	$jscode.="window.TEXT_INLINE_FIELD_SSN='".jsreplace("Field should be a valid Social Security Number")."';\r\n";
}
//	validate field - RequestName
	$validatetype="";
		$second_validatetype="IsRequired";
	$strRTE='';
	$lookup='';	
	$arrValidate[] = array(0 => "RequestName", 1 => $validatetype, 2 => $second_validatetype, 3 => $strRTE,
						   4 => $lookup, 5 => $regex, 6 => $regexmessage, 7 => $regextype);
//	validate field - Email
	$validatetype="IsEmail";
	$second_validatetype="IsRequired";
	$strRTE='';
	$lookup='';	
	$arrValidate[] = array(0 => "Email", 1 => $validatetype, 2 => $second_validatetype, 3 => $strRTE,
						   4 => $lookup, 5 => $regex, 6 => $regexmessage, 7 => $regextype);
//	validate field - Bib
	$validatetype="";
	$second_validatetype="IsRequired";
	$strRTE='';
	$lookup='disp';
	$arrValidate[] = array(0 => "Bib", 1 => $validatetype, 2 => $second_validatetype, 3 => $strRTE,
						   4 => $lookup, 5 => $regex, 6 => $regexmessage, 7 => $regextype);
//	validate field - Athlete
	$validatetype="";
	$second_validatetype="IsRequired";
	$strRTE='';
	$lookup='';	
	$arrValidate[] = array(0 => "Athlete", 1 => $validatetype, 2 => $second_validatetype, 3 => $strRTE,
						   4 => $lookup, 5 => $regex, 6 => $regexmessage, 7 => $regextype);
//	validate field - WomensScores
	$validatetype="";
	$second_validatetype="IsRequired";
	$strRTE='';
	$lookup='list';
	$arrValidate[] = array(0 => "WomensScores", 1 => $validatetype, 2 => $second_validatetype, 3 => $strRTE,
						   4 => $lookup, 5 => $regex, 6 => $regexmessage, 7 => $regextype);
//	validate field - MensScores
	$validatetype="";
	$second_validatetype="IsRequired";
	$strRTE='';
	$lookup='list';
	$arrValidate[] = array(0 => "MensScores", 1 => $validatetype, 2 => $second_validatetype, 3 => $strRTE,
						   4 => $lookup, 5 => $regex, 6 => $regexmessage, 7 => $regextype);
for($i=0;$i<count($arrValidate);$i++)
{
	if($arrValidate[$i][1])
	{
		if($inlineedit!=ADD_INLINE)
		{
			$needvalidate=true;
			if($inlineedit==ADD_ONTHEFLY)
			{
				if ($arrValidate[$i][1]=="Regular expression")
					$jscode.="addFlyValid".$id.".addRegex($('#value_".$arrValidate[$i][0]."_".$id."'),'".$arrValidate[$i][1]."','".
						jsreplace($arrValidate[$i][5])."','".jsreplace($arrValidate[$i][6])."','".jsreplace($arrValidate[$i][7])."');\r\n";
				else		
					$jscode.="addFlyValid".$id.".add($('#value_".$arrValidate[$i][0]."_".$id."'),'".$arrValidate[$i][1]."','".$arrValidate[$i][3]."','".$arrValidate[$i][4]."');\r\n";	
			}
			else
			{
				if ($arrValidate[$i][1]=="Regular expression")
					$bodyonload.="addValid.addRegex(document.editform['value_".$arrValidate[$i][0]."'],'".$arrValidate[$i][1]."','".
						jsreplace($arrValidate[$i][5])."','".jsreplace($arrValidate[$i][6])."','".jsreplace($arrValidate[$i][7])."');\r\n";
				else		
					$bodyonload.="addValid.add(document.editform['value_".$arrValidate[$i][0]."'],'".$arrValidate[$i][1]."','".$arrValidate[$i][3]."','".$arrValidate[$i][4]."');\r\n";
			}
		}
		else{
				//	Add Inline validation params
				$addValidateTypes[] = $arrValidate[$i][1];
				$addValidateFields[] = $arrValidate[$i][0];
				$addValidateUseRTE[] = $arrValidate[$i][3];
				$addValidateCBList[] = $arrValidate[$i][4];
				$addValidateRegex[] = jsreplace($arrValidate[$i][5]);
				$addValidateRegexmes[] = jsreplace($arrValidate[$i][6]);
				$addValidateRegexmestype[] = jsreplace($arrValidate[$i][7]);
			}	
	}
	if($arrValidate[$i][2])
	{	
		if($inlineedit!=ADD_INLINE)
		{
			$needvalidate=true;
			if($inlineedit==ADD_ONTHEFLY)
			{	
				if($arrValidate[$i][3]=='INNOVA_FLY' || $arrValidate[$i][3]=='RTE_FLY')
				{
					$jscode.='$("td[@class^=\'editshade_lb\']").each(function(i){';
					$jscode.='if($("iframe[@name=\'value_'.$arrValidate[$i][0].'_'.$id.'\']",this).length)';
					$jscode.='addFlyValid'.$id.'.add($("iframe[@name=\'value_'.$arrValidate[$i][0].'_'.$id.'\']",this),"'.$arrValidate[$i][2].'","'.$arrValidate[$i][3].'","'.$arrValidate[$i][4].'");});';
				//	$func.='getDataFromRTEInnova($(\'#value_'.$arrValidate[$i][0].'_'.$id.'\'),\''.$arrValidate[$i][3].'\',$(\'#editform'.$id.'\'),\'value_'.$arrValidate[$i][0].'\');'; 
				}
				else
					$jscode.="addFlyValid".$id.".add($('".($arrValidate[$i][4]=='CBList' ? "input[@name=\"value_".$arrValidate[$i][0]."[]\"]" : "#value_".$arrValidate[$i][0]."_".$id)."'),'".$arrValidate[$i][2]."','".$arrValidate[$i][3]."','".$arrValidate[$i][4]."');\r\n";
			}
			elseif($arrValidate[$i][3]=='INNOVA_FLY' || $arrValidate[$i][3]=='RTE_FLY')
			{
				$bodyonload.='$("td[@class^=\'editshade_lb\']").each(function(i){';
				$bodyonload.='if($("iframe[@name=\'value_'.$arrValidate[$i][0].'\']",this).length)';
				$bodyonload.='addValid.add($("iframe[@name=\'value_'.$arrValidate[$i][0].'\']",this),"'.$arrValidate[$i][2].'","'.$arrValidate[$i][3].'","'.$arrValidate[$i][4].'");});';
				//$func.='getDataFromRTEInnova($(\'#value_'.$arrValidate[$i][0].'\'),\''.$arrValidate[$i][3].'\',$(\'#editform\'),\'value_'.$arrValidate[$i][0].'\');'; 
			}
			else
				$bodyonload.="addValid.add(document.editform['".($arrValidate[$i][4]=='disp' ? "display_" : "")."value_".$arrValidate[$i][0].($arrValidate[$i][4]=='CBList' || $arrValidate[$i][4]=='list' ? "[]" : "")."'],'".$arrValidate[$i][2]."','".$arrValidate[$i][3]."','".$arrValidate[$i][4]."');\r\n";
		}
		else{
				//	Add Inline validation params
				$addValidateTypes[] = $arrValidate[$i][2];
				$addValidateFields[] = $arrValidate[$i][0];
				$addValidateUseRTE[] = $arrValidate[$i][3];
				$addValidateCBList[] = $arrValidate[$i][4];
				$addValidateRegex[] = jsreplace($arrValidate[$i][5]);
				$addValidateRegexmes[] = jsreplace($arrValidate[$i][6]);
				$addValidateRegexmestype[] = jsreplace($arrValidate[$i][7]);
			}	
	}
}	
//	End Add validation params for InlineAdd or Add or AddOnTheFly
//////////////////////////////////////////////////////////////

AddJSFile("ui");
AddJSFile("ui.core","ui");
AddJSFile('ui.resizable','ui.core');
AddJSFile("onthefly");

////////////////////// time picker
//////////////////////
$body=array();


AddJSFile('customlabels');

$jscode.="window.locale_dateformat = ".$locale_info["LOCALE_IDATE"].";\r\n".
	"window.locale_datedelimiter = \"".$locale_info["LOCALE_SDATE"]."\";\r\n".
	"window.bLoading=false;\r\n".
	"window.TEXT_PLEASE_SELECT='".jsreplace("Please select")."';\r\n";







if($inlineedit!=ADD_INLINE)
{
	if($needvalidate)
	{
		if($RTEfunc)
		{
			if($inlineedit==ADD_ONTHEFLY)
				$onsubmit="if(addFlyValid".$id.".validate()){".$RTEfunc."return true;}else return false;";
			else
				$onsubmit="if(addValid.validate()){".$RTEfunc."return true;}else return false;";	
		}
		else{	
				if($inlineedit==ADD_ONTHEFLY)
					$onsubmit="return addFlyValid".$id.".validate();";
				else
					$onsubmit.="return addValid.validate();";
			}
	}
	elseif($RTEfunc)
		$onsubmit=$RTEfunc."return true;";

	if($inlineedit!=ADD_ONTHEFLY)
	{
		$includes.="<script language=\"JavaScript\" src=\"include/jquery.js\"></script>\r\n";
		AddJSFile("ajaxsuggest");		
		$includes.="<script language=\"JavaScript\" src=\"include/jsfunctions.js\"></script>\r\n";
	}
	
	$jscode.="SUGGEST_TABLE='EmailTracker_searchsuggest.php';\r\n";
	if($inlineedit!=ADD_ONTHEFLY)
		$includes.="<div id=\"search_suggest\"></div>\r\n";
	

	$xt->assign("RequestName_fieldblock",true);
	$xt->assign("Email_fieldblock",true);
	$xt->assign("Bib_fieldblock",true);
	$xt->assign("Athlete_fieldblock",true);
	$xt->assign("WomensScores_fieldblock",true);
	$xt->assign("MensScores_fieldblock",true);
	$xt->assign("MenTeamName_fieldblock",true);
	$xt->assign("WomenTeamName_fieldblock",true);
	
	$formname="editform";
	if($onsubmit)
		$onsubmit="onsubmit=\"".$onsubmit."\"";
	if($inlineedit!=ADD_ONTHEFLY)
	{
		$body["begin"]=$includes.
		"<form name=\"editform\" id=\"editform\" encType=\"multipart/form-data\" method=\"post\" action=\"EmailTracker_add.php\" ".$onsubmit.">".
		"<input type=hidden name=\"a\" value=\"added\">";
		$xt->assign("backbutton_attrs","onclick=\"window.location.href='EmailTracker_list.php?a=return'\"");
		$xt->assign("back_button",true);
	}
	else
	{
		$formname="editform".$id;
		$body["begin"]="<form name=\"editform".$id."\" id=\"editform".$id."\" encType=\"multipart/form-data\" method=\"post\" action=\"EmailTracker_add.php\" ".$onsubmit." target=\"flyframe".$id."\">".
		"<input type=hidden name=\"a\" value=\"added\">".
		"<input type=hidden name=\"editType\" value=\"onthefly\">".
		"<input type=hidden name=\"table\" value=\"".postvalue("table")."\">".
		"<input type=hidden name=\"field\" value=\"".postvalue("field")."\">".
		"<input type=hidden name=\"category\" value=\"".postvalue("category")."\">".
		"<input type=hidden name=\"id\" value=\"".$id."\">";
		$xt->assign("cancelbutton_attrs","onclick=\"RemoveFlyDiv('".$id."');\"");
		$xt->assign("cancel_button",true);
		$xt->assign("header","");
	}
	$xt->assign("save_button",true);
	$xt->assign("reset_button",true);
	$xt->assign("resetbutton_attrs",'onclick="resetEditors();"');
}

if($message)
{
	$xt->assign("message_block",true);
	$xt->assign("message",$message);
}
//$xt->assign("status",$status);

$readonlyfields=array();

//	show readonly fields

$linkdata="";
$record_id= postvalue("recordID");

if($inlineedit==ADD_ONTHEFLY)
	$record_id=$id;

$fieldAppear=true;
if($fieldAppear)
{
	$output = loadSelectContent("Athlete",@$defvalues["Bib"],@$defvalues["Athlete"]);
	$txt = ""; 
	foreach( $output as $value ) 
	{
		$txt .= jsreplace($value)."\\n";
	}
	$jscode .= "preloadSelectContent('".$txt."', 'value_Athlete', '".jsreplace(@$defvalues["Athlete"])."','".$record_id."');\r\n";
}

	if($inlineedit==ADD_INLINE) 
	{
		$jscode.= "inlineAddValid".$record_id." = new validation();\r\n";
				$types_separated = implode(",", $addValidateTypes);
		$fields_separated = implode(",", $addValidateFields);
		$useRTE_separated = implode(",", $addValidateUseRTE);
		$CBList_separated = implode(",", $addValidateCBList);
		$regex_separated = implode(",", $addValidateRegex);
		$regexmes_separated = implode(",", $addValidateRegexmes);
		$regexmestype_separated = implode(",", $addValidateRegexmestype);
		$jscode.= "var addValidateTypes = String('".$types_separated."').split(',');\r\n";
		$jscode.= "var addValidateFields = String('".$fields_separated."').split(',');\r\n";
		$jscode.= "var addValidateUseRTE = String('".$useRTE_separated."').split(',');\r\n";
		$jscode.= "var addValidateCBList = String('".$CBList_separated."').split(',');\r\n";
		$jscode.= "var addValidateRegex = String('".$regex_separated."').split(',');\r\n";
		$jscode.= "var addValidateRegexmes = String('".$regexmes_separated."').split(',');\r\n";
		$jscode.= "var addValidateRegexmestype = String('".$regexmestype_separated."').split(',');\r\n";
		$jscode.='$("span[@id^=edit'.$record_id.'_]").each(function(i){
						var j;
						for(j=0;j<addValidateFields.length;j++)
						{
							if(addValidateFields[j]==this.id.substr(this.id.indexOf("_")+1))
							{
								if($(this).attr("type")=="Innova" || $(this).attr("type")=="RTE")
									inlineAddValid'.$record_id.'.add(this, addValidateTypes[j],addValidateUseRTE[j],addValidateCBList[j]);
								else{
										if($("input[@type=text],input[@type=hidden],input[@type=password],input[@type=file],select",this).length)
										{
											if(addValidateCBList[j]=="list")
												elem = $("select",this);
											else
												elem = $("input[@type=text],input[@type=hidden],input[@type=password],input[@type=file],select",this);
											if(addValidateTypes[j]=="Regular expression")
												inlineAddValid'.$record_id.'.addRegex(elem, addValidateTypes[j],addValidateRegex[j],addValidateRegexmes[j],addValidateRegexmestype[j]);	
											else	
												inlineAddValid'.$record_id.'.add(elem, addValidateTypes[j],addValidateUseRTE[j],addValidateCBList[j]);	
										}
									}
							}
						}
					});';	
									} 
	else 
	{
		$jscode.="SetToFirstControl('".$formname."');";
		if($inlineedit==ADD_SIMPLE)
			$jscode.= $bodyonload;
	}
		

if(@$_POST["a"]=="added" && $inlineedit==ADD_ONTHEFLY && !$error_happened && $status!="DECLINED")
{
	$LookupSQL="";
	if($LookupSQL)
		$LookupSQL.=" from ".AddTableWrappers($strOriginalTableName);

	$data=0;
	if(count($keys) && $LookupSQL)
	{
		$where=KeyWhere($keys);
		$LookupSQL.=" where ".$where;
		$rs=db_query($LookupSQL,$conn);
		$data=db_fetch_numarray($rs);
	}
	if(!$data)
	{
		$data=array(@$avalues[$linkfield],@$avalues[$dispfield]);
	}
	echo "<textarea id=\"data\">";
	echo "added";
	print_inline_array($data);
	echo "</textarea>";
	exit();
}


if ( @$_POST["a"]=="added" && $inlineedit==ADD_INLINE ) 
{

	//Preparation   view values
	//	get current values and show edit controls

	$data=0;
	if(count($keys))
	{

		$where=KeyWhere($keys);
			$strSQL = gSQLWhere($where);

		LogInfo($strSQL);

		$rs=db_query($strSQL,$conn);
		$data=db_fetch_array($rs);
	}
	if(!$data)
	{
		$data=$avalues;
		$HaveData=false;
	}

	//check if correct values added

	
	
	$showKeys[] = htmlspecialchars($keys["ID"]);

	$keylink="";
	$keylink.="&key1=".htmlspecialchars(rawurlencode(@$data["ID"]));

//	foreach Fields as @f filter @f.bListPage order @f.nListPageOrder

	////////////////////////////////////////////
	//	RequestName - 
		$value="";
				$value = ProcessLargeText(GetData($data,"RequestName", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "RequestName";
				$showRawValues[] = substr($data["RequestName"],0,100);
	////////////////////////////////////////////
	//	Email - 
		$value="";
				$value = ProcessLargeText(GetData($data,"Email", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "Email";
				$showRawValues[] = substr($data["Email"],0,100);
	////////////////////////////////////////////
	//	Bib - 
		$value="";
				$value = ProcessLargeText(GetData($data,"Bib", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "Bib";
				$showRawValues[] = substr($data["Bib"],0,100);
	////////////////////////////////////////////
	//	Athlete - 
		$value="";
				$value=DisplayLookupWizard("Athlete",$data["Athlete"],$data,$keylink,MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "Athlete";
				$showRawValues[] = substr($data["Athlete"],0,100);
	////////////////////////////////////////////
	//	ID - 
		$value="";
				$value = ProcessLargeText(GetData($data,"ID", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "ID";
				$showRawValues[] = substr($data["ID"],0,100);
	////////////////////////////////////////////
	//	MiscAthlete - 
		$value="";
				$value = ProcessLargeText(GetData($data,"MiscAthlete", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "MiscAthlete";
				$showRawValues[] = substr($data["MiscAthlete"],0,100);
	////////////////////////////////////////////
	//	WomensScores - 
		$value="";
				$value = ProcessLargeText(GetData($data,"WomensScores", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "WomensScores";
				$showRawValues[] = substr($data["WomensScores"],0,100);
	////////////////////////////////////////////
	//	MensScores - 
		$value="";
				$value = ProcessLargeText(GetData($data,"MensScores", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "MensScores";
				$showRawValues[] = substr($data["MensScores"],0,100);
	////////////////////////////////////////////
	//	MenTeamName - 
		$value="";
				$value = ProcessLargeText(GetData($data,"MenTeamName", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "MenTeamName";
				$showRawValues[] = substr($data["MenTeamName"],0,100);
	////////////////////////////////////////////
	//	WomenTeamName - 
		$value="";
				$value = ProcessLargeText(GetData($data,"WomenTeamName", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "WomenTeamName";
				$showRawValues[] = substr($data["WomenTeamName"],0,100);
	////////////////////////////////////////////
	//	MenSplit1 - 
		$value="";
				$value = ProcessLargeText(GetData($data,"MenSplit1", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "MenSplit1";
				$showRawValues[] = substr($data["MenSplit1"],0,100);
	////////////////////////////////////////////
	//	MenSplit2 - 
		$value="";
				$value = ProcessLargeText(GetData($data,"MenSplit2", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "MenSplit2";
				$showRawValues[] = substr($data["MenSplit2"],0,100);
	////////////////////////////////////////////
	//	MenFinish - 
		$value="";
				$value = ProcessLargeText(GetData($data,"MenFinish", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "MenFinish";
				$showRawValues[] = substr($data["MenFinish"],0,100);
	////////////////////////////////////////////
	//	WomenSplit1 - 
		$value="";
				$value = ProcessLargeText(GetData($data,"WomenSplit1", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "WomenSplit1";
				$showRawValues[] = substr($data["WomenSplit1"],0,100);
	////////////////////////////////////////////
	//	WomenFinish - 
		$value="";
				$value = ProcessLargeText(GetData($data,"WomenFinish", ""),"","",MODE_LIST);
		$showValues[] = $value;
		$showFields[] = "WomenFinish";
				$showRawValues[] = substr($data["WomenFinish"],0,100);
}

if ( @$_POST["a"]=="added" && $inlineedit==ADD_INLINE ) 
{
	echo "<textarea id=\"data\">";
	if($IsSaved && count($showValues))
	{
		if($HaveData)
			echo "saved";
		else
			echo "savnd";
		print_inline_array($showKeys);
		echo "\n";
		print_inline_array($showValues);
		echo "\n";
		print_inline_array($showFields);
		echo "\n";
		print_inline_array($showRawValues);
		echo "\n";
		print_inline_array($showDetailKeys,true);
		echo "\n";
		print_inline_array($showDetailKeys);
		echo "\n";
		echo str_replace(array("&","<","\\","\r","\n"),array("&amp;","&lt;","\\\\","\\r","\\n"),$usermessage);
	}
	else
	{
		if($status=="DECLINED")
			echo "decli";
		else
			echo "error";
		echo str_replace(array("&","<","\\","\r","\n"),array("&amp;","&lt;","\\\\","\\r","\\n"),$message);
	}
	echo "</textarea>";
	exit();
} 

/////////////////////////////////////////////////////////////
//	prepare Edit Controls
/////////////////////////////////////////////////////////////
$jscode.="\r\n window.rteIdArr=".jsreplace("new Object").";\r\n";



$control_RequestName=array();
$control_RequestName["func"]="xt_buildeditcontrol";
$control_RequestName["params"] = array();
$control_RequestName["params"]["field"]="RequestName";
$control_RequestName["params"]["value"]=@$defvalues["RequestName"];
$control_RequestName["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_RequestName["params"]["mode"]="inline_add";
else
	$control_RequestName["params"]["mode"]="add";
	
$xt->assignbyref("RequestName_editcontrol",$control_RequestName);


$control_Email=array();
$control_Email["func"]="xt_buildeditcontrol";
$control_Email["params"] = array();
$control_Email["params"]["field"]="Email";
$control_Email["params"]["value"]=@$defvalues["Email"];
$control_Email["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_Email["params"]["mode"]="inline_add";
else
	$control_Email["params"]["mode"]="add";
	
$xt->assignbyref("Email_editcontrol",$control_Email);


$control_Bib=array();
$control_Bib["func"]="xt_buildeditcontrol";
$control_Bib["params"] = array();
$control_Bib["params"]["field"]="Bib";
$control_Bib["params"]["value"]=@$defvalues["Bib"];
$control_Bib["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_Bib["params"]["mode"]="inline_add";
else
	$control_Bib["params"]["mode"]="add";
	
$xt->assignbyref("Bib_editcontrol",$control_Bib);


$control_Athlete=array();
$control_Athlete["func"]="xt_buildeditcontrol";
$control_Athlete["params"] = array();
$control_Athlete["params"]["field"]="Athlete";
$control_Athlete["params"]["value"]=@$defvalues["Athlete"];
$control_Athlete["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_Athlete["params"]["mode"]="inline_add";
else
	$control_Athlete["params"]["mode"]="add";
	
$xt->assignbyref("Athlete_editcontrol",$control_Athlete);


$control_MiscAthlete=array();
$control_MiscAthlete["func"]="xt_buildeditcontrol";
$control_MiscAthlete["params"] = array();
$control_MiscAthlete["params"]["field"]="MiscAthlete";
$control_MiscAthlete["params"]["value"]=@$defvalues["MiscAthlete"];
$control_MiscAthlete["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_MiscAthlete["params"]["mode"]="inline_add";
else
	$control_MiscAthlete["params"]["mode"]="add";
	
$xt->assignbyref("MiscAthlete_editcontrol",$control_MiscAthlete);


$control_WomensScores=array();
$control_WomensScores["func"]="xt_buildeditcontrol";
$control_WomensScores["params"] = array();
$control_WomensScores["params"]["field"]="WomensScores";
$control_WomensScores["params"]["value"]=@$defvalues["WomensScores"];
$control_WomensScores["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_WomensScores["params"]["mode"]="inline_add";
else
	$control_WomensScores["params"]["mode"]="add";
	
$xt->assignbyref("WomensScores_editcontrol",$control_WomensScores);


$control_MensScores=array();
$control_MensScores["func"]="xt_buildeditcontrol";
$control_MensScores["params"] = array();
$control_MensScores["params"]["field"]="MensScores";
$control_MensScores["params"]["value"]=@$defvalues["MensScores"];
$control_MensScores["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_MensScores["params"]["mode"]="inline_add";
else
	$control_MensScores["params"]["mode"]="add";
	
$xt->assignbyref("MensScores_editcontrol",$control_MensScores);


$control_MenTeamName=array();
$control_MenTeamName["func"]="xt_buildeditcontrol";
$control_MenTeamName["params"] = array();
$control_MenTeamName["params"]["field"]="MenTeamName";
$control_MenTeamName["params"]["value"]=@$defvalues["MenTeamName"];
$control_MenTeamName["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_MenTeamName["params"]["mode"]="inline_add";
else
	$control_MenTeamName["params"]["mode"]="add";
	
$xt->assignbyref("MenTeamName_editcontrol",$control_MenTeamName);


$control_WomenTeamName=array();
$control_WomenTeamName["func"]="xt_buildeditcontrol";
$control_WomenTeamName["params"] = array();
$control_WomenTeamName["params"]["field"]="WomenTeamName";
$control_WomenTeamName["params"]["value"]=@$defvalues["WomenTeamName"];
$control_WomenTeamName["params"]["id"]=$record_id;
if($inlineedit==ADD_INLINE || $inlineedit==ADD_ONTHEFLY)
	$control_WomenTeamName["params"]["mode"]="inline_add";
else
	$control_WomenTeamName["params"]["mode"]="add";
	
$xt->assignbyref("WomenTeamName_editcontrol",$control_WomenTeamName);

PrepareJSCode($jscode,$record_id);

	if($inlineedit!=ADD_ONTHEFLY)
	{
		if($inlineedit==ADD_INLINE)
		{
			$jscode=str_replace(array("&","<",">"),array("&amp;","&lt;","&gt;"),$jscode);
			$xt->assignbyref("linkdata",$jscode);
		}
		$body["end"]="</form><script>".$jscode."</script>";
		$xt->assign("body",$body);
		$xt->assign("flybody",true);
	}
	else
	{
		if(!@$_POST["a"]=="added")
		{
			$jscode = str_replace(array("\\","\r","\n"),array("\\\\","\\r","\\n"),$jscode);
			echo $jscode;
			echo "\n";
		}
		else if(@$_POST["a"]=="added" && ($error_happened || $status=="DECLINED"))
		{
			echo "<textarea id=\"data\">decli";
			echo htmlspecialchars($jscode);
			echo "</textarea>";
		}
		$body["end"]="</form>";
		$xt->assign("footer","");
		$xt->assign("flybody",$body);
		$xt->assign("body",true);
	}	

$xt->assign("style_block",true);


if(function_exists("BeforeShowAdd"))
	BeforeShowAdd($xt,$templatefile);

if($inlineedit==ADD_ONTHEFLY)
{
	$xt->load_template($templatefile);
	$xt->display_loaded("style_block");
	$xt->display_loaded("flybody");
}
else
	$xt->display($templatefile);


?>