kenexa 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +11 -0
- data/doc/Archstone_Web_API_Information.ppt +0 -0
- data/doc/clean_response.xml +627 -0
- data/kenexa.gemspec +26 -0
- data/lib/kenexa.rb +9 -0
- data/lib/kenexa/client.rb +53 -0
- data/lib/kenexa/job.rb +24 -0
- data/lib/kenexa/job_collection_proxy.rb +26 -0
- data/lib/kenexa/job_detail_parser.rb +14 -0
- data/lib/kenexa/job_parser.rb +47 -0
- data/lib/kenexa/templates/request.erb +49 -0
- data/lib/kenexa/version.rb +3 -0
- data/spike.rb +62 -0
- data/test/fixtures/empty_search_results.xml +2 -0
- data/test/fixtures/job_details.html +1900 -0
- data/test/fixtures/job_details_page_2.html +1900 -0
- data/test/fixtures/job_details_page_3.html +1900 -0
- data/test/fixtures/page_1_request.xml +1 -0
- data/test/fixtures/page_2_request.xml +1 -0
- data/test/fixtures/page_3_request.xml +1 -0
- data/test/fixtures/page_4_request.xml +1 -0
- data/test/fixtures/search_results.xml +2 -0
- data/test/fixtures/search_results_page_2.xml +2 -0
- data/test/fixtures/search_results_page_3.xml +2 -0
- data/test/test_client.rb +76 -0
- metadata +146 -0
data/kenexa.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "kenexa/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "kenexa"
|
7
|
+
s.version = Kenexa::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Michael Guterl"]
|
10
|
+
s.email = ["michael@recruitmilitary.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{A simple ruby wrapper for the Kenexa API}
|
13
|
+
s.description = %q{A simple ruby wrapper for the Kenexa API}
|
14
|
+
|
15
|
+
s.rubyforge_project = "kenexa"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency 'nokogiri'
|
23
|
+
|
24
|
+
s.add_development_dependency 'minitest'
|
25
|
+
s.add_development_dependency 'webmock'
|
26
|
+
end
|
data/lib/kenexa.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
require 'open-uri'
|
4
|
+
require 'erb'
|
5
|
+
require 'date'
|
6
|
+
require 'nokogiri'
|
7
|
+
|
8
|
+
module Kenexa
|
9
|
+
|
10
|
+
class Client
|
11
|
+
|
12
|
+
DEFAULT_ENDPOINT = 'http://import.brassring.com/WebRouter/WebRouter.asmx/route'
|
13
|
+
|
14
|
+
TEMPLATE_PATH = File.dirname(__FILE__) + "/templates"
|
15
|
+
|
16
|
+
def initialize(endpoint = DEFAULT_ENDPOINT)
|
17
|
+
@uri = URI.parse(endpoint)
|
18
|
+
end
|
19
|
+
|
20
|
+
def jobs(options = {})
|
21
|
+
page = options[:page] || 1
|
22
|
+
template = ERB.new(File.read(TEMPLATE_PATH + "/request.erb"))
|
23
|
+
inputXml = template.result(binding)
|
24
|
+
response = Net::HTTP.post_form(@uri, "inputXml" => inputXml)
|
25
|
+
doc = Nokogiri::XML response.body
|
26
|
+
|
27
|
+
# i'm not sure what is up with the response that comes back, but
|
28
|
+
# it appears to be an escaped string of XML. We need to get that
|
29
|
+
# string an parse it with Nokogiri to be able to parse the
|
30
|
+
# interesting pieces.
|
31
|
+
envelope = Nokogiri::XML doc.children.first.text
|
32
|
+
|
33
|
+
JobCollectionProxy.new(envelope)
|
34
|
+
end
|
35
|
+
|
36
|
+
def each_job
|
37
|
+
page = 1
|
38
|
+
loop {
|
39
|
+
jobs = jobs(:page => page)
|
40
|
+
max_pages ||= jobs.max_pages
|
41
|
+
|
42
|
+
jobs.each { |job|
|
43
|
+
yield job
|
44
|
+
}
|
45
|
+
|
46
|
+
page += 1
|
47
|
+
break if page > max_pages
|
48
|
+
}
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
data/lib/kenexa/job.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Kenexa
|
2
|
+
|
3
|
+
class Job < Struct.new(:title, :url, :city, :state, :internal_id, :last_updated)
|
4
|
+
|
5
|
+
def initialize(attributes = {})
|
6
|
+
attributes.each do |attribute, value|
|
7
|
+
send("#{attribute}=", value)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def description
|
12
|
+
@description ||= begin
|
13
|
+
doc = Nokogiri::HTML(open(url))
|
14
|
+
|
15
|
+
parser = JobDetailParser.new
|
16
|
+
details = parser.parse(doc)
|
17
|
+
|
18
|
+
details['Job Description']
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Kenexa
|
2
|
+
|
3
|
+
class JobCollectionProxy
|
4
|
+
|
5
|
+
instance_methods.each { |m| undef_method m unless m =~ /(^__|^send$|^object_id$)/ }
|
6
|
+
|
7
|
+
def initialize(envelope)
|
8
|
+
@envelope = envelope
|
9
|
+
@jobs = JobParser.new.parse(envelope)
|
10
|
+
end
|
11
|
+
|
12
|
+
def total
|
13
|
+
@total ||= @envelope.at("//OtherInformation/TotalRecordsFound").text.to_i
|
14
|
+
end
|
15
|
+
|
16
|
+
def max_pages
|
17
|
+
@max_pages ||= @envelope.at("//OtherInformation/MaxPages").text.to_i
|
18
|
+
end
|
19
|
+
|
20
|
+
def method_missing(meth, *args, &block)
|
21
|
+
@jobs.send(meth, *args, &block)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Kenexa
|
2
|
+
|
3
|
+
class JobParser
|
4
|
+
|
5
|
+
QUESTION_MAP = {
|
6
|
+
:title => 7996,
|
7
|
+
:city => 15615,
|
8
|
+
:state => 15616,
|
9
|
+
:internal_id => 7972,
|
10
|
+
}.freeze
|
11
|
+
|
12
|
+
def parse(envelope)
|
13
|
+
envelope.search("//Job").map { |node|
|
14
|
+
attributes = {
|
15
|
+
:url => extract_text(node, ".//JobDetailLink"),
|
16
|
+
:last_updated => extract_date(node, ".//LastUpdated"),
|
17
|
+
}
|
18
|
+
|
19
|
+
QUESTION_MAP.keys.each do |attribute|
|
20
|
+
attributes[attribute] = extract_question(node, attribute)
|
21
|
+
end
|
22
|
+
|
23
|
+
Job.new(attributes)
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def extract_date(node, name)
|
30
|
+
Date.parse extract_text(node, name)
|
31
|
+
end
|
32
|
+
|
33
|
+
def extract_question(node, name)
|
34
|
+
if question_id = QUESTION_MAP[name]
|
35
|
+
extract_text(node, ".//Question[@Id='#{question_id}']")
|
36
|
+
else
|
37
|
+
raise ArgumentError, "missing question mapping for #{name}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def extract_text(node, xpath)
|
42
|
+
node.at(xpath).text.strip
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<Envelope version="01.00">
|
2
|
+
<Sender>
|
3
|
+
<Id>12345</Id>
|
4
|
+
<Credential>25152</Credential>
|
5
|
+
</Sender>
|
6
|
+
<TransactInfo transactId="1" transactType="data">
|
7
|
+
<TransactId>01/27/2010</TransactId>
|
8
|
+
<TimeStamp>12:00:00 AM</TimeStamp>
|
9
|
+
</TransactInfo>
|
10
|
+
<Unit UnitProcessor="SearchAPI">
|
11
|
+
<Packet>
|
12
|
+
<PacketInfo packetType="data">
|
13
|
+
<packetId>1</packetId>
|
14
|
+
</PacketInfo>
|
15
|
+
<Payload>
|
16
|
+
<InputString>
|
17
|
+
<ClientId>25152</ClientId>
|
18
|
+
<SiteId>5244</SiteId>
|
19
|
+
<PageNumber><%= page %></PageNumber>
|
20
|
+
<OutputXMLFormat>0</OutputXMLFormat>
|
21
|
+
<AuthenticationToken/>
|
22
|
+
<HotJobs/>
|
23
|
+
<ProximitySearch>
|
24
|
+
<Distance/>
|
25
|
+
<Measurement/>
|
26
|
+
<Country/>
|
27
|
+
<State/>
|
28
|
+
<City/>
|
29
|
+
<zipCode/>
|
30
|
+
</ProximitySearch>
|
31
|
+
<JobMatchCriteriaText/>
|
32
|
+
<SelectedSearchLocaleId/>
|
33
|
+
<Questions>
|
34
|
+
<Question Sortorder="ASC" Sort="No">
|
35
|
+
<Id>7982</Id>
|
36
|
+
<Value><![CDATA[TG_SEARCH_ALL]]></Value>
|
37
|
+
</Question>
|
38
|
+
</Questions>
|
39
|
+
<Questions>
|
40
|
+
<Question Sortorder="ASC" Sort="No">
|
41
|
+
<Id>15616</Id>
|
42
|
+
<Value><![CDATA[TG_SEARCH_ALL]]></Value>
|
43
|
+
</Question>
|
44
|
+
</Questions>
|
45
|
+
</InputString>
|
46
|
+
</Payload>
|
47
|
+
</Packet>
|
48
|
+
</Unit>
|
49
|
+
</Envelope>
|
data/spike.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
inputXml = <<-EOF
|
2
|
+
<Envelope version="01.00">
|
3
|
+
<Sender>
|
4
|
+
<Id>12345</Id>
|
5
|
+
<Credential>25152</Credential>
|
6
|
+
</Sender>
|
7
|
+
<TransactInfo transactId="1" transactType="data">
|
8
|
+
<TransactId>01/27/2010</TransactId>
|
9
|
+
<TimeStamp>12:00:00 AM</TimeStamp>
|
10
|
+
</TransactInfo>
|
11
|
+
<Unit UnitProcessor="SearchAPI">
|
12
|
+
<Packet>
|
13
|
+
<PacketInfo packetType="data">
|
14
|
+
<packetId>1</packetId>
|
15
|
+
</PacketInfo>
|
16
|
+
<Payload>
|
17
|
+
<InputString>
|
18
|
+
<ClientId>25152</ClientId>
|
19
|
+
<SiteId>5244</SiteId>
|
20
|
+
<PageNumber>1</PageNumber>
|
21
|
+
<OutputXMLFormat>0</OutputXMLFormat>
|
22
|
+
<AuthenticationToken/>
|
23
|
+
<HotJobs/>
|
24
|
+
<ProximitySearch>
|
25
|
+
<Distance/>
|
26
|
+
<Measurement/>
|
27
|
+
<Country/>
|
28
|
+
<State/>
|
29
|
+
<City/>
|
30
|
+
<zipCode/>
|
31
|
+
</ProximitySearch>
|
32
|
+
<JobMatchCriteriaText/>
|
33
|
+
<SelectedSearchLocaleId/>
|
34
|
+
<Questions>
|
35
|
+
<Question Sortorder="ASC" Sort="No">
|
36
|
+
<Id>7982</Id>
|
37
|
+
<Value><![CDATA[TG_SEARCH_ALL]]></Value>
|
38
|
+
</Question>
|
39
|
+
</Questions>
|
40
|
+
<Questions>
|
41
|
+
<Question Sortorder="ASC" Sort="No">
|
42
|
+
<Id>15616</Id>
|
43
|
+
<Value><![CDATA[TG_SEARCH_ALL]]></Value>
|
44
|
+
</Question>
|
45
|
+
</Questions>
|
46
|
+
</InputString>
|
47
|
+
</Payload>
|
48
|
+
</Packet>
|
49
|
+
</Unit>
|
50
|
+
</Envelope>
|
51
|
+
EOF
|
52
|
+
|
53
|
+
require "net/http"
|
54
|
+
require "uri"
|
55
|
+
|
56
|
+
uri = URI.parse('http://import.brassring.com/WebRouter/WebRouter.asmx/route')
|
57
|
+
|
58
|
+
# Shortcut
|
59
|
+
response = Net::HTTP.post_form(uri, "inputXml" => inputXml)
|
60
|
+
|
61
|
+
doc = Nokogiri::XML response.body
|
62
|
+
envelope = Nokogiri::XML doc.children.first.text
|
@@ -0,0 +1,2 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<string xmlns="http://integrationuri.org/"><Envelope version="01.00"><Sender><Id>12345</Id><Credential>25152</Credential></Sender><TransactInfo transactType="response" transactId="3c464e3b-5889-473f-8aa2-22d17c619fd7"><TransactId>01/27/2010</TransactId><TimeStamp>12:00:00 AM</TimeStamp></TransactInfo><Unit UnitProcessor="SearchAPI"><Packet><PacketInfo packetType="data" encrypted="no"><packetId>1</packetId></PacketInfo><Payload><InputString><ClientId>25152</ClientId><SiteId>5244</SiteId><PageNumber>4</PageNumber><OutputXMLFormat>0</OutputXMLFormat><AuthenticationToken /><HotJobs /><ProximitySearch><Distance /><Measurement /><Country /><State /><City /><zipCode /></ProximitySearch><JobMatchCriteriaText /><SelectedSearchLocaleId /><Questions><Question Sortorder="ASC" Sort="No"><Id>7982</Id><Value>TG_SEARCH_ALL</Value></Question></Questions><Questions><Question Sortorder="ASC" Sort="No"><Id>15616</Id><Value>TG_SEARCH_ALL</Value></Question></Questions></InputString><ResultSet><Jobs /><OtherInformation><TotalRecordsFound>103</TotalRecordsFound><MaxPages>3</MaxPages><StartDoc>151</StartDoc><PageNumber>4</PageNumber></OtherInformation></ResultSet></Payload><Status><Code>200</Code><ShortDescription>Successful Search API Call</ShortDescription><LongDescription>The Search API call has been successfully completed and returned with results.</LongDescription></Status></Packet><Status><Code>200</Code><ShortDescription>Successful Search API Call</ShortDescription><LongDescription>The Search API call has been successfully completed and returned with results.</LongDescription></Status></Unit><Status><Code>200</Code><ShortDescription>Success</ShortDescription><LongDescription>All units are processed with success codes</LongDescription></Status></Envelope></string>
|
@@ -0,0 +1,1900 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
<SCRIPT LANGUAGE="javascript">
|
4
|
+
var MSG_DifferentLocaleSubmission= "You have selected jobs in different languages. Please limit your selection to one language at a time. \n\rAfter submitting, you can select jobs from a different language and submit."
|
5
|
+
var MSG_SiteSwitch= "Recruitment for the selected job(s) will be in the language of the job posting(s). To continue, the language of this site will change to match the language of the selected job(s). You will need to provide your resume/CV in the language of the selected job(s) in order to maximize your visibility to the recruitment personnel."
|
6
|
+
</SCRIPT>
|
7
|
+
|
8
|
+
<META name="keywords" content="brassring, job search, job fairs, tech job, it, information technology, employment, resume, monster, headhunter, computer, listing, opening, description, bank, career, internship, opportunity, employment opportunities, classified ads, engineering, search engine, telecommunication, free agent, internet, dice.com, full time, freelance, executive, graphic design, vacancy, executive, part time, classified ads, technology, programmer, post resume, professional, computer work, technical recruiter, project management, research companies, web developer, board, database, Westech, networking, manager, computer, technical writing, engineer, professionals, application, posting, hightech, hiring, interview, expos, employer, qa, consulting, semiconductor, consultant, computing, hardware, help wanted, technologies, analyst, administrative, administrator, industry">
|
9
|
+
|
10
|
+
<META name="description" content="Search information technology and Internet job openings. Locate job fairs and career events. Post resumes to high tech employers.">
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
<SCRIPT LANGUAGE="javascript">
|
15
|
+
var MSG_cim_jobdetail_JobCart="The job cart contains a maximum of 50 jobs. Please delete jobs from your cart in order to add new ones.";</SCRIPT>
|
16
|
+
<NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT>
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
<SCRIPT LANGUAGE="JavaScript">
|
21
|
+
var MSG_ConfirmMismatch= "Entry does not match for [QUESTION]";
|
22
|
+
var MSG_GEN_EntValdEmlAddr="Please enter a valid e-mail address.\nDelete all the invalid characters, including spaces, from your e-mail address.";
|
23
|
+
var MSG_GEN_PlsEntValdEmlAddr="Please enter a valid e-mail address.";
|
24
|
+
var MSG_GEN_PlsDelPrdFrmEndOfYrEmlAddr="Please delete the period from the end of your e-mail address.";
|
25
|
+
var MSG_GEN_PlsDelPrdFrmBgnOfYrEmlAddr="Please delete the period from the beginning of your e-mail address.";
|
26
|
+
var MSG_GEN_PlsRmDblQut="Please remove the ' DOUBLE QUOTE (\") ' you have entered.";
|
27
|
+
var MSG_GEN_PlsEntValdDate="Please enter a valid date.";
|
28
|
+
var MSG_GEN_EnterVal= "Please enter a value for |QUESTION|";
|
29
|
+
var MSG_GEN_PlsEntVldYear="Please enter a valid year. The start year should be less than the end year.";
|
30
|
+
var MSG_GEN_PlsEntVldSSN="Please enter a valid SSN.";
|
31
|
+
var MSG_GEN_SSNFormat="The SSN should be in xxx-xx-xxxx format.";
|
32
|
+
var MSG_GEN_FromToDate="The From date should be less than the To date.";
|
33
|
+
var MSG_GEN_EntValdPasswd="Spaces are not allowed in the e-mail or in the password field. Please remove the spaces and try again.";
|
34
|
+
var MSG_GEN_PlsEntVldNumber="Please enter a valid number.";
|
35
|
+
var MSG_GEN_PlsEntComDot="Comma and period values cannot be the last character in numeric value fields.";
|
36
|
+
var MSG_GEN_PlsEntComma="Comma values cannot be the first character in numeric value fields";
|
37
|
+
var MSG_GEN_EnterValRange= "Please enter a value for |QUESTION| between |MIN| and |MAX|.";
|
38
|
+
var MSG_TSV_EnterValidInputText= "This entry should contain valid HTML characters. Please reference the help file for a list of basic valid HTML tags.";
|
39
|
+
var MSG_TSV_EnterValidInputTextArea= "This entry should contain valid HTML characters. Please reference the help file for a list of basic valid HTML tags.";
|
40
|
+
var MSG_TSV_EnterValidInputSearchFields= "This entry should contain valid HTML characters. Please reference the help file for a list of basic valid HTML tags.";var MSG_GEN_UserNameLen="Please enter a valid username.";
|
41
|
+
var MSG_GEN_UserNameInvalidChars="The username must not include the following characters: < >";var MSG_GEN_UserNameSpaces="The username must not include any spaces.";
|
42
|
+
var MSG_GEN_EnterValidPassword="Please enter a valid password.\nDelete all the invalid characters, including spaces, from your password.";var MSG_GEN_UserNameLength="The username must be less than 100 characters.";
|
43
|
+
var MSG_InputValidationFail= "[QUESTION] requires a valid entry.";</SCRIPT>
|
44
|
+
|
45
|
+
<NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT>
|
46
|
+
|
47
|
+
<script language="JavaScript1.2">
|
48
|
+
// ---------------------------- //
|
49
|
+
// General JavaScript Library: //
|
50
|
+
// Author : Beji Joseph //
|
51
|
+
// ---------------------------- //
|
52
|
+
var subwindow;
|
53
|
+
var lnk;
|
54
|
+
|
55
|
+
function showHelp(lnk)
|
56
|
+
{
|
57
|
+
if (!subwindow || subwindow.closed)
|
58
|
+
{
|
59
|
+
subwindow = window.open(lnk,"help","height=400,width=450,menubar=no,toolbar=no,resizable=no,scrollbars=yes,alwaysRaised");
|
60
|
+
if (!subwindow.opener)
|
61
|
+
{
|
62
|
+
subwindow.opener = window;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
else
|
66
|
+
{
|
67
|
+
subwindow.focus();
|
68
|
+
window.open(lnk,"help");
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
function inValidChar(passedVal)
|
73
|
+
{
|
74
|
+
if (passedVal == "\f")
|
75
|
+
return true;
|
76
|
+
else
|
77
|
+
{
|
78
|
+
if (passedVal == "\n")
|
79
|
+
return true;
|
80
|
+
else
|
81
|
+
{
|
82
|
+
if(passedVal == "\r")
|
83
|
+
return true;
|
84
|
+
else
|
85
|
+
{
|
86
|
+
if(passedVal == "\t")
|
87
|
+
return true;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
return false;
|
92
|
+
}
|
93
|
+
|
94
|
+
function hasValue(passedVal, bInValidCharCheck)
|
95
|
+
{
|
96
|
+
var charHold;
|
97
|
+
|
98
|
+
if (ReplaceInString(passedVal, " ", "") == '') return false;
|
99
|
+
if (ReplaceInString(ReplaceInString(ReplaceInString(ReplaceInString(passedVal, "\f", ""), "\r", ""), "\n", ""), "\t", "") == '') return false;
|
100
|
+
|
101
|
+
if(bInValidCharCheck)
|
102
|
+
for (i=0; i<passedVal.length; i++)
|
103
|
+
{
|
104
|
+
charHold = passedVal.charAt(i);
|
105
|
+
if (inValidChar(charHold)) return false;
|
106
|
+
}
|
107
|
+
return true;
|
108
|
+
}
|
109
|
+
|
110
|
+
// C:173 start Added these functions for controlling the Hover texts DIV tags
|
111
|
+
function getLayer(SRC,displayLength,strHoverFieldlength)
|
112
|
+
{
|
113
|
+
displayLength = displayLength * 1;
|
114
|
+
strHoverFieldlength = strHoverFieldlength * 1;
|
115
|
+
|
116
|
+
// Make hidden all divs into the page first
|
117
|
+
var divs = document.getElementsByTagName('div'); // all divs
|
118
|
+
for (var i = 0; i < divs.length; i++)
|
119
|
+
{
|
120
|
+
var el= divs.item(i);
|
121
|
+
var str=el.id;
|
122
|
+
if (str.indexOf('TGHover') != -1)
|
123
|
+
{
|
124
|
+
var tDIV2 = document.getElementById(str);
|
125
|
+
tDIV2.style.visibility = "hidden";
|
126
|
+
}
|
127
|
+
|
128
|
+
}
|
129
|
+
var tDIV = document.getElementById("TGHover" + SRC) ;
|
130
|
+
var displayValue = document.getElementById("TGHoverVal" + SRC).value ;
|
131
|
+
displayValue += document.getElementById("TGHoverClick" + SRC).value ;
|
132
|
+
|
133
|
+
// Hide the div where string contains blank value or none
|
134
|
+
if ( displayLength < 1)
|
135
|
+
{
|
136
|
+
tDIV.style.visibility = "hidden";
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
// Calculate the width to be displayed
|
140
|
+
var widthofDiv ;
|
141
|
+
if (displayLength > strHoverFieldlength )
|
142
|
+
{
|
143
|
+
widthofDiv = strHoverFieldlength * 6;
|
144
|
+
}
|
145
|
+
else
|
146
|
+
{
|
147
|
+
widthofDiv = displayLength * 6;
|
148
|
+
}
|
149
|
+
// Get the exact width of the main table.
|
150
|
+
var ExactDivWidth = ( document.getElementById("MainTable").clientWidth - 120 ) * 1;
|
151
|
+
|
152
|
+
if (widthofDiv < 250 )
|
153
|
+
widthofDiv = 250
|
154
|
+
else if ( displayLength > 65 && displayLength < 150 )
|
155
|
+
widthofDiv = ( ExactDivWidth < 400 ) ? ExactDivWidth : 400 // This is the maximum width to be displayed.
|
156
|
+
else if ( displayLength > 150 && displayLength < 300)
|
157
|
+
widthofDiv = ( ExactDivWidth < 500 ) ? ExactDivWidth : 500 // This is the maximum width to be displayed.
|
158
|
+
else if ( displayLength > 300)
|
159
|
+
widthofDiv = ExactDivWidth; // This is the maximum width to be displayed.
|
160
|
+
|
161
|
+
// Make visible the selected one.
|
162
|
+
tDIV.style.width = widthofDiv;
|
163
|
+
tDIV.style.cursor = "hand";
|
164
|
+
tDIV.style.visibility = "visible";
|
165
|
+
tDIV.innerHTML = displayValue;
|
166
|
+
}
|
167
|
+
|
168
|
+
function stringTrim (str) {
|
169
|
+
str = str.replace(/^\s+/, '');
|
170
|
+
for (var i = str.length - 1; i <= 0; i--) {
|
171
|
+
if (/\S/.test(str.charAt(i))) {
|
172
|
+
str = str.substring(0, i + 1);
|
173
|
+
break;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
return str;
|
177
|
+
}
|
178
|
+
|
179
|
+
function floatLayer(SRC,e)
|
180
|
+
{
|
181
|
+
|
182
|
+
var tDIV = document.getElementById("TGHover" + SRC);
|
183
|
+
var TotaltableHeight;
|
184
|
+
|
185
|
+
var divHeight = ( document.getElementById("TGHover" + SRC).clientHeight ) * 1;
|
186
|
+
var tableHeight = ( document.getElementById("MainTable").clientHeight + document.body.scrollTop ) * 1;
|
187
|
+
TotaltableHeight = tableHeight ;
|
188
|
+
|
189
|
+
//if (document.getElementById("MenuTable").clientHeight != null )
|
190
|
+
// TotaltableHeight += ( document.getElementById("MenuTable").clientHeight ) * 1;
|
191
|
+
|
192
|
+
if (document.getElementById("TitleCriteriaTable") != null )
|
193
|
+
TotaltableHeight += ( document.getElementById("TitleCriteriaTable").clientHeight ) * 1;
|
194
|
+
|
195
|
+
if (document.getElementById("PagingTable") != null)
|
196
|
+
TotaltableHeight += ( document.getElementById("PagingTable").clientHeight ) * 1;
|
197
|
+
|
198
|
+
if (document.getElementById("ButtonTable") != null)
|
199
|
+
TotaltableHeight += ( document.getElementById("ButtonTable").clientHeight ) * 1;
|
200
|
+
|
201
|
+
|
202
|
+
// Just set the left position. No need to set the top position.
|
203
|
+
if(navigator.appName.indexOf("Microsoft") != -1)
|
204
|
+
{
|
205
|
+
var leftStyle = ( e.x + document.body.scrollLeft + 25 ) * 1;
|
206
|
+
var topStyle = ( e.y + document.body.scrollTop ) * 1;
|
207
|
+
var correctPosition = ( topStyle + divHeight ) ;
|
208
|
+
e = (e) ? e : window.event;
|
209
|
+
var element1 = (e.target) ? e.target: e.srcElement;
|
210
|
+
if (correctPosition > TotaltableHeight )
|
211
|
+
{
|
212
|
+
tDIV.style.marginTop = ( (-1*divHeight + element1.parentNode.clientHeight) + 'px');
|
213
|
+
tDIV.style.left = leftStyle;
|
214
|
+
}
|
215
|
+
else
|
216
|
+
{
|
217
|
+
tDIV.style.left = leftStyle;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
else // For all other browsers use this.
|
221
|
+
{
|
222
|
+
var leftStyle = ( e.layerX + 25 ) * 1;
|
223
|
+
var topStyle = ( e.layerY + document.body.scrollTop ) * 1;
|
224
|
+
var correctPosition = ( topStyle + divHeight );
|
225
|
+
|
226
|
+
e = (e) ? e : window.event;
|
227
|
+
var element2 = (e.target) ? e.target: e.srcElement;
|
228
|
+
|
229
|
+
if (correctPosition > TotaltableHeight )
|
230
|
+
{
|
231
|
+
tDIV.style.marginTop = ( (-1*divHeight + element2.parentNode.clientHeight) + 'px');
|
232
|
+
tDIV.style.left = leftStyle;
|
233
|
+
}
|
234
|
+
else
|
235
|
+
{
|
236
|
+
tDIV.style.left = leftStyle;
|
237
|
+
}
|
238
|
+
}
|
239
|
+
}
|
240
|
+
function hideLayer(SRC)
|
241
|
+
{
|
242
|
+
var tDIV = document.getElementById(SRC)
|
243
|
+
tDIV.style.visibility='hidden'
|
244
|
+
}
|
245
|
+
function hideAllLayer()
|
246
|
+
{
|
247
|
+
// Make hidden all divs into the page first
|
248
|
+
var divs = document.getElementsByTagName('div'); // all divs
|
249
|
+
for (var i = 0; i < divs.length; i++)
|
250
|
+
{
|
251
|
+
var el= divs.item(i);
|
252
|
+
var str=el.id;
|
253
|
+
if (str.indexOf('TGHover') != -1)
|
254
|
+
{
|
255
|
+
var tDIV2 = document.getElementById(str)
|
256
|
+
tDIV2.style.visibility = "hidden"
|
257
|
+
}
|
258
|
+
}
|
259
|
+
}
|
260
|
+
//C:173 end till here added these fucntions.
|
261
|
+
|
262
|
+
function emailCheck(emailField)
|
263
|
+
{
|
264
|
+
if(emailField.value.replace(/ /g, "").length != 0)
|
265
|
+
{
|
266
|
+
var RegExp1 = new RegExp('^[a-zA-Z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ!#$%&\'/*/+-///=/?/^_`{|}~]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$', 'g'); // Regular Expression for Email
|
267
|
+
if (!emailField.value.match(RegExp1))
|
268
|
+
{
|
269
|
+
alert(MSG_GEN_EntValdEmlAddr);
|
270
|
+
emailField.focus();
|
271
|
+
return false;
|
272
|
+
}
|
273
|
+
}
|
274
|
+
|
275
|
+
if (!checkDBQuote(emailField))
|
276
|
+
{
|
277
|
+
return false;
|
278
|
+
}
|
279
|
+
|
280
|
+
return true;
|
281
|
+
}
|
282
|
+
|
283
|
+
function checkDBQuote(refControl){
|
284
|
+
if (refControl.value.indexOf('"') != -1) {
|
285
|
+
alert(MSG_GEN_PlsRmDblQut);
|
286
|
+
refControl.focus();
|
287
|
+
return false;
|
288
|
+
}
|
289
|
+
else
|
290
|
+
return true;
|
291
|
+
|
292
|
+
}
|
293
|
+
function isChecked(refCtrl)
|
294
|
+
{
|
295
|
+
if(refCtrl.checked == true)
|
296
|
+
{
|
297
|
+
return true;
|
298
|
+
}
|
299
|
+
else
|
300
|
+
{
|
301
|
+
if (refCtrl.length >0)
|
302
|
+
{
|
303
|
+
for(var i=0;i<refCtrl.length;i++){
|
304
|
+
if(refCtrl[i].checked)
|
305
|
+
return true;
|
306
|
+
}
|
307
|
+
}
|
308
|
+
else
|
309
|
+
{
|
310
|
+
return false;
|
311
|
+
}
|
312
|
+
}
|
313
|
+
return false;
|
314
|
+
}
|
315
|
+
function validUploadFile(refControl){
|
316
|
+
var defFileTypes = new Array("doc","rtf","txt");
|
317
|
+
var strCompare = new String(validUploadFile.arguments[1]);
|
318
|
+
var arrExtn = new Array();
|
319
|
+
strCompare = strCompare.toLowerCase();
|
320
|
+
if (!hasValue(refControl.value)){
|
321
|
+
return false;
|
322
|
+
}
|
323
|
+
if (!checkDBQuote(refControl)){
|
324
|
+
return false;
|
325
|
+
}
|
326
|
+
if (validUploadFile.arguments.length > 1){
|
327
|
+
if (strCompare.indexOf(",") != -1){
|
328
|
+
arrExtn = strCompare.split(",");
|
329
|
+
}
|
330
|
+
else
|
331
|
+
{
|
332
|
+
arrExtn[0] = strCompare;
|
333
|
+
}
|
334
|
+
// return compareExtn(refControl,arrExtn);
|
335
|
+
}
|
336
|
+
else {
|
337
|
+
arrExtn = defFileTypes;
|
338
|
+
// return compareExtn(refControl,arrExtn);
|
339
|
+
}
|
340
|
+
return compareExtn(refControl,arrExtn);
|
341
|
+
}
|
342
|
+
function compareExtn(refControl,arrExtn){
|
343
|
+
var strFile = new String(refControl.value);
|
344
|
+
var intBegPos,intEndPos;
|
345
|
+
|
346
|
+
strFile = strFile.toLowerCase();
|
347
|
+
for (var i=0;i < arrExtn.length ;i++ ){
|
348
|
+
intBegPos = strFile.length - arrExtn[i].length;
|
349
|
+
intEndPos = strFile.length;
|
350
|
+
if ("." + strFile.substring(intBegPos ,intEndPos) == ("." + arrExtn[i] )){
|
351
|
+
return true;
|
352
|
+
}
|
353
|
+
}
|
354
|
+
return false;
|
355
|
+
}
|
356
|
+
|
357
|
+
function XmlEncode(sText) {
|
358
|
+
var intTextlength = 0;
|
359
|
+
var strOneChar = "";
|
360
|
+
var strNewText = "";
|
361
|
+
|
362
|
+
intTextlength = sText.length;
|
363
|
+
|
364
|
+
for (var i=0;i < intTextlength; i++)
|
365
|
+
{strOneChar = sText.charAt(i);
|
366
|
+
if (sText.charAt(i) == "&")
|
367
|
+
strOneChar = "&";
|
368
|
+
if (sText.charAt(i) == "<")
|
369
|
+
strOneChar = "<";
|
370
|
+
if (sText.charAt(i) == ">")
|
371
|
+
strOneChar = ">";
|
372
|
+
if (sText.charAt(i) == '"')
|
373
|
+
strOneChar = """;
|
374
|
+
// if (sText.charAt(i) == "'")
|
375
|
+
// strOneChar = "'";
|
376
|
+
|
377
|
+
strNewText = strNewText + strOneChar;
|
378
|
+
}
|
379
|
+
|
380
|
+
//sText = sText.replace("&", "&")
|
381
|
+
//sText = sText.replace("<", "<")
|
382
|
+
//sText = sText.replace(">", ">")
|
383
|
+
//sText = sText.replace("'", "'")
|
384
|
+
|
385
|
+
return strNewText;
|
386
|
+
}
|
387
|
+
|
388
|
+
// Function to determine if value is in acceptable range for this application.
|
389
|
+
function inRange(inputStr, min, max){
|
390
|
+
var num = parseInt(inputStr, 10);
|
391
|
+
if (num < min || num > max){
|
392
|
+
return false;
|
393
|
+
}
|
394
|
+
return true;
|
395
|
+
}
|
396
|
+
|
397
|
+
// Added by RamS for Date Handling //
|
398
|
+
function formatDateValuesStoreAndValidate(frmToCheck)
|
399
|
+
{
|
400
|
+
var lngIdx;
|
401
|
+
var lngControlCount;
|
402
|
+
var elements;
|
403
|
+
var strCtrlName;
|
404
|
+
var strQuestionId;
|
405
|
+
var dtCtrl;
|
406
|
+
var quesCtrl;
|
407
|
+
var strTemp;
|
408
|
+
var strJobId ="empty";
|
409
|
+
var strFromattedDate;
|
410
|
+
elements = frmToCheck.elements;
|
411
|
+
|
412
|
+
lngControlCount = elements.length;
|
413
|
+
|
414
|
+
for (lngIdx = 0; lngIdx < lngControlCount; lngIdx++)
|
415
|
+
{
|
416
|
+
strJobId= "" ;
|
417
|
+
strCtrlName = elements[lngIdx].name;
|
418
|
+
|
419
|
+
if (strCtrlName.indexOf("Question_") != -1 || (strCtrlName.indexOf("Question") != -1 && strCtrlName.indexOf("_") != -1))
|
420
|
+
{
|
421
|
+
if (strCtrlName.indexOf("|") != -1)
|
422
|
+
{
|
423
|
+
strTemp = strCtrlName.split("|");
|
424
|
+
strCtrlName = strTemp[0];
|
425
|
+
strJobId = "|" + strTemp[1];
|
426
|
+
}
|
427
|
+
/*36727 - JSQ dates are not being captured
|
428
|
+
adding in a check for $ instead of |*/
|
429
|
+
if (strCtrlName.indexOf("$") != -1)
|
430
|
+
{
|
431
|
+
strTemp = strCtrlName.split("$");
|
432
|
+
strCtrlName = strTemp[0];
|
433
|
+
strJobId = "$" + strTemp[1];
|
434
|
+
}
|
435
|
+
strTemp = strCtrlName.split("_");
|
436
|
+
if (strTemp[0] != "Question")
|
437
|
+
{
|
438
|
+
strQuestionId = strTemp[0].substring(8);
|
439
|
+
}
|
440
|
+
else
|
441
|
+
{
|
442
|
+
strQuestionId = strTemp[1];
|
443
|
+
}
|
444
|
+
|
445
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_Y" + strJobId);
|
446
|
+
|
447
|
+
//TD41839 - isNaN function is having problems with the variable in NS6.2
|
448
|
+
//if ((dtCtrl) && isNaN(dtCtrl))
|
449
|
+
if ((dtCtrl) && (eval("frmToCheck.Date_" + strQuestionId + "_Y" + strJobId))) // Do only if the question is of type Date
|
450
|
+
{
|
451
|
+
quesCtrl = elements[lngIdx];
|
452
|
+
strFromattedDate = dtCtrl.options[dtCtrl.selectedIndex].value;
|
453
|
+
|
454
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_M" + strJobId);
|
455
|
+
strFromattedDate = strFromattedDate + "-" + dtCtrl.options[dtCtrl.selectedIndex].value;
|
456
|
+
|
457
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_D" + strJobId);
|
458
|
+
strFromattedDate = strFromattedDate + "-" + dtCtrl.options[dtCtrl.selectedIndex].value;
|
459
|
+
|
460
|
+
if (validateFormattedDate(strFromattedDate))
|
461
|
+
{
|
462
|
+
if (strFromattedDate == '--') strFromattedDate = '';
|
463
|
+
quesCtrl.value = strFromattedDate;
|
464
|
+
}
|
465
|
+
else
|
466
|
+
{
|
467
|
+
|
468
|
+
alert(MSG_GEN_PlsEntValdDate);
|
469
|
+
|
470
|
+
dtCtrl.focus();
|
471
|
+
return false;
|
472
|
+
}
|
473
|
+
}
|
474
|
+
}
|
475
|
+
|
476
|
+
}
|
477
|
+
|
478
|
+
return true;
|
479
|
+
}
|
480
|
+
|
481
|
+
function validateFormattedDate(strFormattedDate, bFutureDateCheck)
|
482
|
+
{
|
483
|
+
var lngDay;
|
484
|
+
var lngMonth;
|
485
|
+
var lngYear;
|
486
|
+
var strTemp;
|
487
|
+
|
488
|
+
strTemp = strFormattedDate.split("-");
|
489
|
+
|
490
|
+
if(strFormattedDate == "--") return true;
|
491
|
+
if (strTemp.length != 3) return false;
|
492
|
+
if (strTemp[0] == '' && strTemp[1] == '' && strTemp[2] == '') return true;
|
493
|
+
if (strTemp[0] == '' || strTemp[1] == '' || strTemp[2] == '') return false;
|
494
|
+
|
495
|
+
lngYear = strTemp[0];
|
496
|
+
switch(strTemp[1])
|
497
|
+
{
|
498
|
+
case 'Jan': lngMonth = 1; break;
|
499
|
+
case 'Feb': lngMonth = 2; break;
|
500
|
+
case 'Mar': lngMonth = 3; break;
|
501
|
+
case 'Apr': lngMonth = 4; break;
|
502
|
+
case 'May': lngMonth = 5; break;
|
503
|
+
case 'Jun': lngMonth = 6; break;
|
504
|
+
case 'Jul': lngMonth = 7; break;
|
505
|
+
case 'Aug': lngMonth = 8; break;
|
506
|
+
case 'Sep': lngMonth = 9; break;
|
507
|
+
case 'Oct': lngMonth = 10; break;
|
508
|
+
case 'Nov': lngMonth = 11; break;
|
509
|
+
case 'Dec': lngMonth = 12; break;
|
510
|
+
case '1': lngMonth = 1; break;
|
511
|
+
case '2': lngMonth = 2; break;
|
512
|
+
case '3': lngMonth = 3; break;
|
513
|
+
case '4': lngMonth = 4; break;
|
514
|
+
case '5': lngMonth = 5; break;
|
515
|
+
case '6': lngMonth = 6; break;
|
516
|
+
case '7': lngMonth = 7; break;
|
517
|
+
case '8': lngMonth = 8; break;
|
518
|
+
case '9': lngMonth = 9; break;
|
519
|
+
case '10': lngMonth = 10; break;
|
520
|
+
case '11': lngMonth = 11; break;
|
521
|
+
case '12': lngMonth = 12; break;
|
522
|
+
default: return false;
|
523
|
+
}
|
524
|
+
lngDay = strTemp[2];
|
525
|
+
switch(lngMonth)
|
526
|
+
{
|
527
|
+
case 1:
|
528
|
+
case 3:
|
529
|
+
case 5:
|
530
|
+
case 7:
|
531
|
+
case 8:
|
532
|
+
case 10:
|
533
|
+
case 12:
|
534
|
+
break;
|
535
|
+
case 4:
|
536
|
+
case 6:
|
537
|
+
case 9:
|
538
|
+
case 11:
|
539
|
+
if (lngDay == 31) return false;
|
540
|
+
break;
|
541
|
+
case 2:
|
542
|
+
if (lngDay > 29) return false;
|
543
|
+
if (lngDay <= 28) break;
|
544
|
+
if (!(lngDay == '29' && lngYear % 4 == 0 && (lngYear % 100 != 0 || lngYear % 400 == 0))) return false;
|
545
|
+
break;
|
546
|
+
default:
|
547
|
+
return false;
|
548
|
+
}
|
549
|
+
//TD#105467
|
550
|
+
if (typeof(bFutureDateCheck) != 'undefined')
|
551
|
+
if (bFutureDateCheck== true)
|
552
|
+
{
|
553
|
+
var today = new Date;
|
554
|
+
var selectedDate = new Date;
|
555
|
+
selectedDate .setDate(Number(lngDay));
|
556
|
+
selectedDate .setMonth(Number(lngMonth) - 1); // January = 0
|
557
|
+
selectedDate .setFullYear(Number(lngYear));
|
558
|
+
if(selectedDate > today)
|
559
|
+
return false;
|
560
|
+
else
|
561
|
+
return true;
|
562
|
+
}
|
563
|
+
|
564
|
+
|
565
|
+
return true;
|
566
|
+
}
|
567
|
+
// Added by RamS for Date Handling - End //
|
568
|
+
|
569
|
+
// Added by RamS for Blank value checking //
|
570
|
+
function alertIfBlank(ctrlName, strCtrlType, strCtrlText, strDateCtrlPrefix)
|
571
|
+
{
|
572
|
+
var strCtrlTypeFormatted;
|
573
|
+
var iIdx;
|
574
|
+
var iCount;
|
575
|
+
var bBlank;
|
576
|
+
var dtCtrl;
|
577
|
+
var Msg;
|
578
|
+
var checkedCount;
|
579
|
+
var iCtrarray;
|
580
|
+
var iCtrarray2;
|
581
|
+
var iCtrarray3;
|
582
|
+
|
583
|
+
strCtrlTypeFormatted = strCtrlType.toUpperCase();
|
584
|
+
bBlank = false;
|
585
|
+
switch(strCtrlTypeFormatted)
|
586
|
+
{
|
587
|
+
case 'MULTI-SELECT':
|
588
|
+
iCount = ctrlName.length;
|
589
|
+
for(iIdx = 0; iIdx < iCount; iIdx++)
|
590
|
+
if (ctrlName[iIdx].selected == true)break;
|
591
|
+
if (iIdx == iCount) bBlank = true;
|
592
|
+
break;
|
593
|
+
case 'SINGLE-SELECT':
|
594
|
+
if (ctrlName.selectedIndex < 1) bBlank = true;
|
595
|
+
break;
|
596
|
+
case 'SCALESELECT':
|
597
|
+
if (ctrlName.value.toUpperCase().trim() == '') bBlank = true;
|
598
|
+
iCtrarray=ctrlName.value.toUpperCase().trim().split(',');
|
599
|
+
iCount = iCtrarray.length;
|
600
|
+
if (iCount == 0) bBlank = true;
|
601
|
+
for(iIdx = 0; iIdx < iCount; iIdx++)
|
602
|
+
iCtrarray2=iCtrarray[0].split('%%%');
|
603
|
+
iCtrarray3=iCtrarray2[0].split('&=');
|
604
|
+
if (iCtrarray3[1]=='|0|') bBlank = true;
|
605
|
+
break;
|
606
|
+
case 'RADIO':
|
607
|
+
case 'CHECKBOX':
|
608
|
+
case 'GRID':
|
609
|
+
// TD 17005 Madhava -- Handling for only one checkbox
|
610
|
+
if (ctrlName)
|
611
|
+
{
|
612
|
+
checkedCount = 0;
|
613
|
+
if (ctrlName.length ) {iCount = ctrlName.length;}
|
614
|
+
else {iCount=1;}
|
615
|
+
for(iIdx = 0; iIdx < iCount; iIdx++)
|
616
|
+
if (iCount==1)
|
617
|
+
{
|
618
|
+
if (ctrlName.checked == true){checkedCount=checkedCount+1;break;}
|
619
|
+
}
|
620
|
+
else
|
621
|
+
{
|
622
|
+
if (ctrlName[iIdx].checked == true){checkedCount=checkedCount+1;break;}
|
623
|
+
}
|
624
|
+
if (checkedCount==0) bBlank = true;
|
625
|
+
if (iCount>1){ctrlName = ctrlName[0]; }
|
626
|
+
}
|
627
|
+
break;
|
628
|
+
case 'EMAIL':
|
629
|
+
case 'SSN':
|
630
|
+
case 'TEXT':
|
631
|
+
case 'NUMERIC':
|
632
|
+
case 'TEXTAREA':
|
633
|
+
if (ctrlName.value == '') bBlank = true;
|
634
|
+
if (ctrlName.value.replace(/ /g, "").length == 0) bBlank = true;
|
635
|
+
break;
|
636
|
+
case 'DATE':
|
637
|
+
var bSelYear = false;
|
638
|
+
var bSelMon =false;
|
639
|
+
var bSelDay = false;
|
640
|
+
var strTemp;
|
641
|
+
var strJobId ="";
|
642
|
+
if (strDateCtrlPrefix.indexOf("$") != -1)
|
643
|
+
{
|
644
|
+
strTemp = strDateCtrlPrefix.split("$");
|
645
|
+
strDateCtrlPrefix= strTemp[0];
|
646
|
+
strJobId = "&" + strTemp[1];
|
647
|
+
}
|
648
|
+
dtCtrl = eval(strDateCtrlPrefix + "Y" + strJobId);
|
649
|
+
if (dtCtrl.selectedIndex == 0) bSelYear = true;
|
650
|
+
|
651
|
+
dtCtrl = eval(strDateCtrlPrefix + "M" + strJobId);
|
652
|
+
if (dtCtrl.selectedIndex == 0) bSelMon = true;
|
653
|
+
|
654
|
+
dtCtrl = eval(strDateCtrlPrefix + "D" + strJobId);
|
655
|
+
if (dtCtrl.selectedIndex == 0) bSelDay = true;
|
656
|
+
if (bSelDay == true || bSelMon == true || bSelYear == true) bBlank= true;
|
657
|
+
ctrlName = dtCtrl;
|
658
|
+
break;
|
659
|
+
}
|
660
|
+
|
661
|
+
if (bBlank)
|
662
|
+
{
|
663
|
+
Msg = ReplaceInString(MSG_GEN_EnterVal, "|QUESTION|", "\"" + DecodeQuotes(strCtrlText).trim() + "\"");
|
664
|
+
alert(Msg);
|
665
|
+
if (strCtrlTypeFormatted != 'SCALESELECT') ctrlName.focus();
|
666
|
+
return false;
|
667
|
+
}
|
668
|
+
|
669
|
+
return true;
|
670
|
+
}
|
671
|
+
// Added by RamS for Blank value checking - End //
|
672
|
+
|
673
|
+
// Added by RamS //
|
674
|
+
function isValidName(strName)
|
675
|
+
{
|
676
|
+
var strInValidChars = "!\"#$%&*/:;?@[\]_{|}~+<=>0123456789";
|
677
|
+
var iIdx = 0;
|
678
|
+
for (; iIdx < strName.length; iIdx++)
|
679
|
+
{
|
680
|
+
if (strInValidChars.indexOf(strName.charAt(iIdx), 0) != -1) return false;
|
681
|
+
}
|
682
|
+
return true;
|
683
|
+
}
|
684
|
+
|
685
|
+
function isValidNumber(strNumber)
|
686
|
+
{
|
687
|
+
var strValidChars = "0123456789";
|
688
|
+
var iIdx = 0;
|
689
|
+
|
690
|
+
for (; iIdx < strNumber.length; iIdx++)
|
691
|
+
{
|
692
|
+
if (strValidChars.indexOf(strNumber.charAt(iIdx), 0) == -1) return false;
|
693
|
+
}
|
694
|
+
|
695
|
+
return true;
|
696
|
+
}
|
697
|
+
|
698
|
+
function isValidPhoneNumber(strNumber)
|
699
|
+
{ //Added "/" character by RamS TD#30075
|
700
|
+
var strValidChars = "0123456789- X()+./";
|
701
|
+
var iIdx = 0;
|
702
|
+
|
703
|
+
if ((strNumber.length < 5) && (strNumber.length != 0)) return false;
|
704
|
+
for (; iIdx < strNumber.length; iIdx++)
|
705
|
+
{
|
706
|
+
if (strValidChars.indexOf(strNumber.charAt(iIdx), 0) == -1) return false;
|
707
|
+
}
|
708
|
+
|
709
|
+
return true;
|
710
|
+
}
|
711
|
+
|
712
|
+
function isValidWebAddress(strAddress)
|
713
|
+
{
|
714
|
+
if (strAddress.length == 0) return true;
|
715
|
+
if (strAddress.indexOf("http://") == -1)
|
716
|
+
{
|
717
|
+
if (strAddress.indexOf("https://") == -1) return false;
|
718
|
+
}
|
719
|
+
if (strAddress.indexOf(".") == -1) return false;
|
720
|
+
|
721
|
+
return true;
|
722
|
+
}
|
723
|
+
|
724
|
+
function isValidYear(strYear)
|
725
|
+
{
|
726
|
+
var strValidChars = "0123456789";
|
727
|
+
var iIdx = 0;
|
728
|
+
|
729
|
+
if ((strYear.length != 4) && (strYear.length != 0)) return false;
|
730
|
+
for (; iIdx < strYear.length; iIdx++)
|
731
|
+
{
|
732
|
+
if (strValidChars.indexOf(strYear.charAt(iIdx), 0) == -1) return false;
|
733
|
+
}
|
734
|
+
|
735
|
+
return true;
|
736
|
+
}
|
737
|
+
|
738
|
+
function ReplaceInString(str, strFind, strReplace)
|
739
|
+
{
|
740
|
+
// Replaces strFind in str with strReplace and returns replaced text string
|
741
|
+
// 04-04-2003 Venkat
|
742
|
+
|
743
|
+
var returnStr = str;
|
744
|
+
var start = returnStr.indexOf(strFind);
|
745
|
+
while (start>=0)
|
746
|
+
{
|
747
|
+
returnStr = returnStr.substring(0,start) + strReplace + returnStr.substring(start+strFind.length,returnStr.length);
|
748
|
+
start = returnStr.indexOf(strFind,start+strReplace.length);
|
749
|
+
}
|
750
|
+
return returnStr;
|
751
|
+
}
|
752
|
+
// Added by RamS - End //
|
753
|
+
|
754
|
+
//Added by B.M.Hariharan
|
755
|
+
|
756
|
+
function formatTextBoxValuesStoreAndValidate(frmToCheck)
|
757
|
+
{
|
758
|
+
var lngIdx;
|
759
|
+
var lngControlCount;
|
760
|
+
var strCtrlName ;
|
761
|
+
var strTypeName;
|
762
|
+
|
763
|
+
elements = frmToCheck.elements;
|
764
|
+
|
765
|
+
lngControlCount = elements.length;
|
766
|
+
for (lngIdx = 0; lngIdx < lngControlCount; lngIdx++)
|
767
|
+
{
|
768
|
+
strCtrlName = elements[lngIdx].name;
|
769
|
+
strTypeName = elements[lngIdx].type;
|
770
|
+
if (strCtrlName.indexOf("Question_") != -1 || (strCtrlName.indexOf("Question") != -1 && strCtrlName.indexOf("_") != -1))
|
771
|
+
{
|
772
|
+
|
773
|
+
if(elements[lngIdx].type == "text" || elements[lngIdx].type == "textarea")
|
774
|
+
{
|
775
|
+
if (strCtrlName.toUpperCase().indexOf("CODEQUESTION_YES") !=-1)
|
776
|
+
{
|
777
|
+
elements[lngIdx].value = elements[lngIdx].value.replace(/\//g,",");
|
778
|
+
|
779
|
+
}
|
780
|
+
|
781
|
+
//we will do this on the other side so this ugly formatting goes away
|
782
|
+
//elements[lngIdx].value = elements[lngIdx].value.replace(/,/g,"\=#|");
|
783
|
+
|
784
|
+
|
785
|
+
|
786
|
+
}
|
787
|
+
}
|
788
|
+
}
|
789
|
+
|
790
|
+
}
|
791
|
+
|
792
|
+
//Added by B.M.Hariharan - END
|
793
|
+
|
794
|
+
|
795
|
+
//Added by Hari to Trim blank spaces
|
796
|
+
function checkBlank(ctrlName,strAlertMsg)
|
797
|
+
{
|
798
|
+
var bBlank;
|
799
|
+
bBlank = false;
|
800
|
+
|
801
|
+
if (ctrlName.value == '') bBlank = true;
|
802
|
+
if (ctrlName.value.replace(/ /g, "").length == 0) bBlank = true;
|
803
|
+
if (bBlank)
|
804
|
+
{
|
805
|
+
alert (strAlertMsg);
|
806
|
+
ctrlName.focus();
|
807
|
+
return false;
|
808
|
+
}
|
809
|
+
return true;
|
810
|
+
}
|
811
|
+
// End
|
812
|
+
|
813
|
+
|
814
|
+
function containsNonPrintableChars(strPassedVal)
|
815
|
+
{
|
816
|
+
return false; // Please remove this line when this functionality required..
|
817
|
+
var iIdx, iCount;
|
818
|
+
var iChar;
|
819
|
+
var cChar;
|
820
|
+
var strNonPrintableList = "☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼";
|
821
|
+
|
822
|
+
for (iIdx = 0, iCount = strPassedVal.length; iIdx < iCount; iIdx++)
|
823
|
+
{
|
824
|
+
cChar = strPassedVal.charAt(iIdx);
|
825
|
+
if (strNonPrintableList.indexOf(cChar) >= 0) break;
|
826
|
+
}
|
827
|
+
|
828
|
+
if (iIdx != iCount) return true;
|
829
|
+
return false;
|
830
|
+
}
|
831
|
+
//Added by RamS for TD#20492 to validate year in Addschool and Addjob pages
|
832
|
+
function validateYear(startYear,endYear)
|
833
|
+
{
|
834
|
+
if (startYear > endYear)
|
835
|
+
{
|
836
|
+
return false;
|
837
|
+
}
|
838
|
+
return true;
|
839
|
+
}
|
840
|
+
|
841
|
+
//Added By B.M.Hariharan -17FEB2003 - TD 21423
|
842
|
+
|
843
|
+
function isValidSSN(strSSNField)
|
844
|
+
{
|
845
|
+
|
846
|
+
var strValidChars = "0123456789-";
|
847
|
+
var strHyphen = "-";
|
848
|
+
var iIdx = 0;
|
849
|
+
var lCount=0;
|
850
|
+
var strSSN = strSSNField.value;
|
851
|
+
|
852
|
+
for (; iIdx < strSSN.length; iIdx++)
|
853
|
+
{
|
854
|
+
if (strValidChars.indexOf(strSSN.charAt(iIdx), 0) == -1)
|
855
|
+
{
|
856
|
+
alert(MSG_GEN_PlsEntVldSSN);
|
857
|
+
strSSNField.focus();
|
858
|
+
return;
|
859
|
+
}
|
860
|
+
|
861
|
+
if (strHyphen.indexOf(strSSN.charAt(iIdx), 0) >-1) lCount=lCount + 1;
|
862
|
+
|
863
|
+
}
|
864
|
+
|
865
|
+
if (lCount !=2)
|
866
|
+
{
|
867
|
+
alert(MSG_GEN_PlsEntVldSSN);
|
868
|
+
strSSNField.focus();
|
869
|
+
return;
|
870
|
+
}
|
871
|
+
|
872
|
+
|
873
|
+
if ((strSSN.length != 11) )
|
874
|
+
{
|
875
|
+
|
876
|
+
alert(MSG_GEN_SSNFormat);
|
877
|
+
strSSNField.focus();
|
878
|
+
return;
|
879
|
+
}
|
880
|
+
|
881
|
+
if ((strSSN.charAt(3) != "-") || (strSSN.charAt(6) != "-"))
|
882
|
+
{
|
883
|
+
alert(MSG_GEN_PlsEntVldSSN);
|
884
|
+
strSSNField.focus();
|
885
|
+
return;
|
886
|
+
}
|
887
|
+
|
888
|
+
|
889
|
+
return true;
|
890
|
+
|
891
|
+
}
|
892
|
+
//Added By B.M.Hariharan -17FEB2003-END
|
893
|
+
|
894
|
+
|
895
|
+
//Added By B.M.Hariharan -10MAY2003 - TD 29479
|
896
|
+
|
897
|
+
function isNumeric(numField)
|
898
|
+
{
|
899
|
+
var RegExp1 = new RegExp('^[-]?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9]*)?$', 'g');
|
900
|
+
if (!numField.value.match(RegExp1))
|
901
|
+
{
|
902
|
+
alert(MSG_GEN_PlsEntVldNumber);
|
903
|
+
numField.focus();
|
904
|
+
return;
|
905
|
+
}
|
906
|
+
|
907
|
+
return true;
|
908
|
+
|
909
|
+
}
|
910
|
+
//Added By B.M.Hariharan -10MAY2003 ,TD 29479-END
|
911
|
+
|
912
|
+
// TD 23997 - Date Handling in Search page - Venkat //
|
913
|
+
function formatSearchDateValuesStoreAndValidate(frmToCheck)
|
914
|
+
{
|
915
|
+
var lngIdx;
|
916
|
+
var lngControlCount;
|
917
|
+
var elements;
|
918
|
+
var strCtrlName;
|
919
|
+
var strQuestionId;
|
920
|
+
var dtCtrl;
|
921
|
+
var quesCtrl;
|
922
|
+
var strTemp;
|
923
|
+
var strJobId ="empty";
|
924
|
+
var strFromattedDate;
|
925
|
+
var lngCtrlIdx;
|
926
|
+
var strFromDate;
|
927
|
+
var strToDate;
|
928
|
+
|
929
|
+
elements = frmToCheck.elements;
|
930
|
+
|
931
|
+
lngControlCount = elements.length;
|
932
|
+
|
933
|
+
for (lngIdx = 0; lngIdx < lngControlCount; lngIdx++)
|
934
|
+
{
|
935
|
+
strJobId= "" ;
|
936
|
+
strCtrlName = elements[lngIdx].name;
|
937
|
+
if (strCtrlName.indexOf("Question_") != -1 || (strCtrlName.indexOf("Question") != -1 && strCtrlName.indexOf("_") != -1))
|
938
|
+
{
|
939
|
+
if (strCtrlName.indexOf("|") != -1)
|
940
|
+
{
|
941
|
+
strTemp = strCtrlName.split("|");
|
942
|
+
strCtrlName = strTemp[0];
|
943
|
+
strJobId = "|" + strTemp[1];
|
944
|
+
}
|
945
|
+
strTemp = strCtrlName.split("_");
|
946
|
+
if (strTemp[0] != "Question")
|
947
|
+
{
|
948
|
+
strQuestionId = strTemp[0].substring(8);
|
949
|
+
}
|
950
|
+
else
|
951
|
+
{
|
952
|
+
strQuestionId = strTemp[1];
|
953
|
+
}
|
954
|
+
|
955
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_Y" + strJobId);
|
956
|
+
|
957
|
+
//TD41839 - isNaN function is having problems with the variable in NS6.2
|
958
|
+
//if ((dtCtrl) && isNaN(dtCtrl))
|
959
|
+
if ((dtCtrl) && (eval("frmToCheck.Date_" + strQuestionId + "_Y" + strJobId))) // Do only if the question is of type Date
|
960
|
+
{
|
961
|
+
quesCtrl = elements[lngIdx];
|
962
|
+
quesCtrl.value = '';
|
963
|
+
|
964
|
+
for (lngCtrlIdx = 0; lngCtrlIdx < dtCtrl.length ; lngCtrlIdx++)
|
965
|
+
{
|
966
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_Y" + strJobId);
|
967
|
+
strFromattedDate = dtCtrl[lngCtrlIdx].options[dtCtrl[lngCtrlIdx].selectedIndex].value;
|
968
|
+
|
969
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_M" + strJobId);
|
970
|
+
|
971
|
+
strFromattedDate = strFromattedDate + "-" + dtCtrl[lngCtrlIdx].options[dtCtrl[lngCtrlIdx].selectedIndex].value;
|
972
|
+
|
973
|
+
dtCtrl = eval("frmToCheck.Date_" + strQuestionId + "_D" + strJobId);
|
974
|
+
|
975
|
+
strFromattedDate = strFromattedDate + "-" + dtCtrl[lngCtrlIdx].options[dtCtrl[lngCtrlIdx].selectedIndex].value;
|
976
|
+
|
977
|
+
if (validateFormattedDate(strFromattedDate))
|
978
|
+
{
|
979
|
+
if (strFromattedDate == '--')
|
980
|
+
strFromattedDate = '';
|
981
|
+
|
982
|
+
//Hari - validation for Date FROM < TO if FROM,TO <> ""
|
983
|
+
if ( strFromattedDate != '')
|
984
|
+
{
|
985
|
+
if (lngCtrlIdx == 0 )
|
986
|
+
{
|
987
|
+
strFromDate = strFromattedDate;
|
988
|
+
strFromDate = getUTC(strFromDate);
|
989
|
+
}
|
990
|
+
else
|
991
|
+
{
|
992
|
+
strToDate = strFromattedDate;
|
993
|
+
strToDate = getUTC(strToDate);
|
994
|
+
}
|
995
|
+
if(strFromDate > strToDate)
|
996
|
+
{
|
997
|
+
alert(MSG_GEN_FromToDate);
|
998
|
+
dtCtrl[0].focus();
|
999
|
+
return false;
|
1000
|
+
}
|
1001
|
+
}
|
1002
|
+
|
1003
|
+
if (quesCtrl.value == '')
|
1004
|
+
{
|
1005
|
+
quesCtrl.value = " AnswerName&=|" + strFromattedDate + "=X|%%%AnswerValue&=|" + strFromattedDate + "=X|%%%GDEAnswerValue&=|=X|???,";
|
1006
|
+
}
|
1007
|
+
else
|
1008
|
+
{
|
1009
|
+
quesCtrl.value = quesCtrl.value + " " +" AnswerName&=|" + strFromattedDate + "=X|%%%AnswerValue&=|" + strFromattedDate + "=X|%%%GDEAnswerValue&=|=X|???";
|
1010
|
+
}
|
1011
|
+
|
1012
|
+
}
|
1013
|
+
else
|
1014
|
+
{
|
1015
|
+
|
1016
|
+
alert(MSG_GEN_PlsEntValdDate);
|
1017
|
+
|
1018
|
+
dtCtrl[lngCtrlIdx].focus();
|
1019
|
+
return false;
|
1020
|
+
}
|
1021
|
+
}
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
}
|
1025
|
+
|
1026
|
+
}
|
1027
|
+
|
1028
|
+
|
1029
|
+
return true;
|
1030
|
+
}
|
1031
|
+
|
1032
|
+
function passwdCheck(passwdField)
|
1033
|
+
{
|
1034
|
+
var spaceChars = " ";
|
1035
|
+
|
1036
|
+
var strPasswdText;
|
1037
|
+
|
1038
|
+
strPasswdText= passwdField.value;
|
1039
|
+
|
1040
|
+
if (strPasswdText.indexOf(spaceChars,0) > -1)
|
1041
|
+
{
|
1042
|
+
alert(MSG_GEN_EnterValidPassword);
|
1043
|
+
passwdField.focus();
|
1044
|
+
return false;
|
1045
|
+
}
|
1046
|
+
|
1047
|
+
var RegExp1 = new RegExp('^[\u0020-\u007e\u00a0-\uffff\s]+$', 'g');
|
1048
|
+
if (!passwdField.value.match(RegExp1))
|
1049
|
+
{
|
1050
|
+
alert(MSG_GEN_EnterValidPassword);
|
1051
|
+
passwdField.focus();
|
1052
|
+
return false;
|
1053
|
+
}
|
1054
|
+
|
1055
|
+
return true;
|
1056
|
+
|
1057
|
+
}
|
1058
|
+
|
1059
|
+
|
1060
|
+
|
1061
|
+
//Returns the number of milliseconds for given Date String since January 1, 1970, 00:00:00, //Universal Coordinated Time (GMT). Takes Date string parameter in the format YYYY-MMM-DD. //Calculates an year Offset based on 1900, Converts the month name string in the format MMM //e.g., apr into equivalent month number. Fits that month number into a 0-11 format.
|
1062
|
+
//Finally, uses UTC method of date object and returns.
|
1063
|
+
//Venkat 04-15-2003 for TD 23997
|
1064
|
+
function getUTC(strDate)
|
1065
|
+
{
|
1066
|
+
|
1067
|
+
var lngMonth;
|
1068
|
+
var strMonthName;
|
1069
|
+
var lngYear;
|
1070
|
+
|
1071
|
+
var arrDt = strDate.split("-");
|
1072
|
+
|
1073
|
+
lngYear = arrDt[0];
|
1074
|
+
lngYear = lngYear - 1900 ; //Date Offset
|
1075
|
+
|
1076
|
+
strMonthName = arrDt[1];
|
1077
|
+
|
1078
|
+
switch(strMonthName)
|
1079
|
+
{
|
1080
|
+
case 'Jan': lngMonth = 1; break;
|
1081
|
+
case 'Feb': lngMonth = 2; break;
|
1082
|
+
case 'Mar': lngMonth = 3; break;
|
1083
|
+
case 'Apr': lngMonth = 4; break;
|
1084
|
+
case 'May': lngMonth = 5; break;
|
1085
|
+
case 'Jun': lngMonth = 6; break;
|
1086
|
+
case 'Jul': lngMonth = 7; break;
|
1087
|
+
case 'Aug': lngMonth = 8; break;
|
1088
|
+
case 'Sep': lngMonth = 9; break;
|
1089
|
+
case 'Oct': lngMonth = 10; break;
|
1090
|
+
case 'Nov': lngMonth = 11; break;
|
1091
|
+
case 'Dec': lngMonth = 12; break;
|
1092
|
+
case '1': lngMonth = 1; break;
|
1093
|
+
case '2': lngMonth = 2; break;
|
1094
|
+
case '3': lngMonth = 3; break;
|
1095
|
+
case '4': lngMonth = 4; break;
|
1096
|
+
case '5': lngMonth = 5; break;
|
1097
|
+
case '6': lngMonth = 6; break;
|
1098
|
+
case '7': lngMonth = 7; break;
|
1099
|
+
case '8': lngMonth = 8; break;
|
1100
|
+
case '9': lngMonth = 9; break;
|
1101
|
+
case '10': lngMonth = 10; break;
|
1102
|
+
case '11': lngMonth = 11; break;
|
1103
|
+
case '12': lngMonth = 12; break;
|
1104
|
+
default: return false;
|
1105
|
+
}
|
1106
|
+
lngMonth = lngMonth - 1;
|
1107
|
+
|
1108
|
+
return (Date.UTC(lngYear , lngMonth , arrDt[2]));
|
1109
|
+
}
|
1110
|
+
|
1111
|
+
|
1112
|
+
|
1113
|
+
|
1114
|
+
// Added by WMF for Numeric Field Range checking //
|
1115
|
+
function alertIfOutOfRange(ctrlName, strCtrlText, strMinValue, strMaxValue)
|
1116
|
+
{
|
1117
|
+
|
1118
|
+
var bOutOfRange;
|
1119
|
+
var num;
|
1120
|
+
bOutOfRange = false;
|
1121
|
+
|
1122
|
+
if (!isValidNumber(ctrlName.value))
|
1123
|
+
{
|
1124
|
+
alert(MSG_GEN_PlsEntVldNumber);
|
1125
|
+
ctrlName.focus();
|
1126
|
+
return false;
|
1127
|
+
}
|
1128
|
+
|
1129
|
+
if ( strMinValue == strMaxValue )
|
1130
|
+
{
|
1131
|
+
if ( strMinValue == 0 )
|
1132
|
+
{
|
1133
|
+
return true;
|
1134
|
+
}
|
1135
|
+
|
1136
|
+
}
|
1137
|
+
|
1138
|
+
num = parseInt(ctrlName.value,10);
|
1139
|
+
|
1140
|
+
|
1141
|
+
if (num < strMinValue || num > strMaxValue)
|
1142
|
+
{
|
1143
|
+
bOutOfRange = true;
|
1144
|
+
}
|
1145
|
+
|
1146
|
+
if (bOutOfRange)
|
1147
|
+
{
|
1148
|
+
Msg = ReplaceInString(MSG_GEN_EnterValRange, "|QUESTION|", "\"" + strCtrlText + "\"");
|
1149
|
+
Msg = ReplaceInString(Msg, "|MIN|", strMinValue );
|
1150
|
+
Msg = ReplaceInString(Msg, "|MAX|", strMaxValue );
|
1151
|
+
alert(Msg);
|
1152
|
+
ctrlName.focus();
|
1153
|
+
return false;
|
1154
|
+
}
|
1155
|
+
|
1156
|
+
return true;
|
1157
|
+
}
|
1158
|
+
|
1159
|
+
// Added by WMF for Numeric Field Range checking - End //
|
1160
|
+
|
1161
|
+
|
1162
|
+
// Added by ADK for decoding XML on the client - Begin //
|
1163
|
+
|
1164
|
+
function XmlDecode(sText) {
|
1165
|
+
sText = sText.replace(/\&/g,"&");
|
1166
|
+
sText = sText.replace(/\</g,"<");
|
1167
|
+
sText = sText.replace(/\>/g,">");
|
1168
|
+
//sText = sText.replace(/\'/g,"'");
|
1169
|
+
sText = sText.replace(/\"/g,'"');
|
1170
|
+
return sText;
|
1171
|
+
}
|
1172
|
+
|
1173
|
+
// Added by ADK for decoding XML on the client - End //
|
1174
|
+
|
1175
|
+
|
1176
|
+
// Added by WMF 11/05/2003--to read query string values from client side //
|
1177
|
+
//
|
1178
|
+
// QueryString
|
1179
|
+
//
|
1180
|
+
|
1181
|
+
function QueryString(key)
|
1182
|
+
{
|
1183
|
+
var value = null;
|
1184
|
+
for (var i=0;i<QueryString.keys.length;i++)
|
1185
|
+
{
|
1186
|
+
if (QueryString.keys[i]==key)
|
1187
|
+
{
|
1188
|
+
value = QueryString.values[i];
|
1189
|
+
break;
|
1190
|
+
}
|
1191
|
+
}
|
1192
|
+
return value;
|
1193
|
+
}
|
1194
|
+
|
1195
|
+
QueryString.keys = new Array();
|
1196
|
+
QueryString.values = new Array();
|
1197
|
+
|
1198
|
+
function QueryString_Parse()
|
1199
|
+
{
|
1200
|
+
var query = window.location.search.substring(1);
|
1201
|
+
var pairs = query.split("&");
|
1202
|
+
|
1203
|
+
for (var i=0;i<pairs.length;i++)
|
1204
|
+
{
|
1205
|
+
var pos = pairs[i].indexOf('=');
|
1206
|
+
if (pos >= 0)
|
1207
|
+
{
|
1208
|
+
var argname = pairs[i].substring(0,pos);
|
1209
|
+
var value = pairs[i].substring(pos+1);
|
1210
|
+
QueryString.keys[QueryString.keys.length] = argname;
|
1211
|
+
QueryString.values[QueryString.values.length] = value;
|
1212
|
+
}
|
1213
|
+
}
|
1214
|
+
|
1215
|
+
}
|
1216
|
+
|
1217
|
+
QueryString_Parse();
|
1218
|
+
|
1219
|
+
|
1220
|
+
function getCookie(cookieName)
|
1221
|
+
{
|
1222
|
+
var cookieValue = null;
|
1223
|
+
if(document.cookie) //only if exists
|
1224
|
+
{
|
1225
|
+
var arr = document.cookie.split((escape(cookieName) + '='));
|
1226
|
+
if(2 <= arr.length)
|
1227
|
+
{
|
1228
|
+
var arr2 = arr[1].split(';');
|
1229
|
+
cookieValue = unescape(arr2[0]);
|
1230
|
+
}
|
1231
|
+
}
|
1232
|
+
return cookieValue;
|
1233
|
+
}
|
1234
|
+
|
1235
|
+
|
1236
|
+
function getLocaleId(strSiteId,arrSiteLocaleLangList)
|
1237
|
+
{
|
1238
|
+
var arr1 = arrSiteLocaleLangList.split('||');
|
1239
|
+
var strTempSiteId;
|
1240
|
+
var arr2;
|
1241
|
+
var arr3;
|
1242
|
+
|
1243
|
+
arr2 = arr1[0].split(',');
|
1244
|
+
arr3 = arr1[2].split(',');
|
1245
|
+
for (var lIdx = 0; lIdx < arr2.length; lIdx++)
|
1246
|
+
{
|
1247
|
+
if (strSiteId == arr2[lIdx])
|
1248
|
+
{
|
1249
|
+
return arr3[lIdx];
|
1250
|
+
}
|
1251
|
+
}
|
1252
|
+
}
|
1253
|
+
|
1254
|
+
// Added by ADK for trimming whitespace - Begin //
|
1255
|
+
|
1256
|
+
function strtrim()
|
1257
|
+
{
|
1258
|
+
return this.replace(/^\s+/,'').replace(/\s+$/,'');
|
1259
|
+
}
|
1260
|
+
|
1261
|
+
String.prototype.trim = strtrim;
|
1262
|
+
|
1263
|
+
// Added by ADK for trimming whitespace - End //
|
1264
|
+
|
1265
|
+
function DecodeQuotes(sText) {
|
1266
|
+
sText = sText.replace(/\"/g,'"');
|
1267
|
+
|
1268
|
+
return sText;
|
1269
|
+
}
|
1270
|
+
|
1271
|
+
function DecodeSingleQuotes(sText) {
|
1272
|
+
sText = sText.replace(/\'/g,'"');
|
1273
|
+
|
1274
|
+
return sText;
|
1275
|
+
}
|
1276
|
+
|
1277
|
+
function EncodeComma(sText) {
|
1278
|
+
var intTextlength = 0;
|
1279
|
+
var strOneChar = "";
|
1280
|
+
var strNewText = "";
|
1281
|
+
|
1282
|
+
intTextlength = sText.length;
|
1283
|
+
|
1284
|
+
for (var i=0;i < intTextlength; i++)
|
1285
|
+
{strOneChar = sText.charAt(i);
|
1286
|
+
if (sText.charAt(i) == ",")
|
1287
|
+
strOneChar = ",";
|
1288
|
+
|
1289
|
+
strNewText = strNewText + strOneChar;
|
1290
|
+
}
|
1291
|
+
return strNewText;
|
1292
|
+
}
|
1293
|
+
|
1294
|
+
function userNameCheck(usernameField) {
|
1295
|
+
if (usernameField.value.length > 100)
|
1296
|
+
{
|
1297
|
+
alert(MSG_GEN_UserNameLength);
|
1298
|
+
usernameField.focus();
|
1299
|
+
return false;
|
1300
|
+
}
|
1301
|
+
|
1302
|
+
if (usernameField.value.indexOf(' ') > 0)
|
1303
|
+
{
|
1304
|
+
alert(MSG_GEN_UserNameSpaces);
|
1305
|
+
usernameField.focus();
|
1306
|
+
return false;
|
1307
|
+
}
|
1308
|
+
var RegExp1 = new RegExp('^[\u0021-\u003b=\u003f-\u007e\u009f-\uffff\s]+$', 'g'); // Regular Expression for UserName
|
1309
|
+
if (!usernameField.value.match(RegExp1))
|
1310
|
+
{
|
1311
|
+
alert(MSG_GEN_UserNameInvalidChars);
|
1312
|
+
usernameField.focus();
|
1313
|
+
return false;
|
1314
|
+
}
|
1315
|
+
|
1316
|
+
|
1317
|
+
return true;
|
1318
|
+
}
|
1319
|
+
|
1320
|
+
function XmlEncodeForEduExp(sText) {
|
1321
|
+
var intTextlength = 0;
|
1322
|
+
var strOneChar = "";
|
1323
|
+
var strNewText = "";
|
1324
|
+
|
1325
|
+
intTextlength = sText.length;
|
1326
|
+
|
1327
|
+
for (var i=0;i < intTextlength; i++)
|
1328
|
+
{strOneChar = sText.charAt(i);
|
1329
|
+
if (sText.charAt(i) == "&")
|
1330
|
+
strOneChar = "__AMP__";
|
1331
|
+
if (sText.charAt(i) == "<")
|
1332
|
+
strOneChar = "__LT__";
|
1333
|
+
if (sText.charAt(i) == ">")
|
1334
|
+
strOneChar = "__GT__";
|
1335
|
+
if (sText.charAt(i) == '"')
|
1336
|
+
strOneChar = "__QUOT__";
|
1337
|
+
if (sText.charAt(i) == "'")
|
1338
|
+
strOneChar = "__APOS__";
|
1339
|
+
|
1340
|
+
strNewText = strNewText + strOneChar;
|
1341
|
+
}
|
1342
|
+
return strNewText;
|
1343
|
+
}
|
1344
|
+
|
1345
|
+
function XmlDecodeForEduExp(sText) {
|
1346
|
+
var intTextlength = 0;
|
1347
|
+
var strOneChar = "";
|
1348
|
+
var strNewText = "";
|
1349
|
+
|
1350
|
+
intTextlength = sText.length;
|
1351
|
+
|
1352
|
+
sText = sText.replace("__AMP__","&");
|
1353
|
+
sText = sText.replace("__LT__","<");
|
1354
|
+
sText = sText.replace("__GT__",">");
|
1355
|
+
sText = sText.replace('__QUOT__','"');
|
1356
|
+
strNewText = sText.replace("__APOS__","'");
|
1357
|
+
|
1358
|
+
return strNewText;
|
1359
|
+
}
|
1360
|
+
|
1361
|
+
function emailCheckNew(emailField,switchTo)
|
1362
|
+
{
|
1363
|
+
var bInValidEmail;
|
1364
|
+
bInValidEmail = false;
|
1365
|
+
|
1366
|
+
if(emailField.value.replace(/ /g, "").length != 0)
|
1367
|
+
{
|
1368
|
+
|
1369
|
+
var RegExp1 = new RegExp('^[a-zA-Z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ!#$%&\'/*/+-///=/?/^_`{|}~]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$', 'g'); // Regular Expression for Email
|
1370
|
+
if (!emailField.value.match(RegExp1))
|
1371
|
+
{
|
1372
|
+
bInValidEmail = true;
|
1373
|
+
}
|
1374
|
+
}
|
1375
|
+
|
1376
|
+
|
1377
|
+
if (!checkDBQuoteNew(emailField))
|
1378
|
+
{
|
1379
|
+
bInvalidEmail = true;
|
1380
|
+
}
|
1381
|
+
if ( bInValidEmail )
|
1382
|
+
{
|
1383
|
+
switchIt(document.getElementById(switchTo));
|
1384
|
+
alert(MSG_GEN_EntValdEmlAddr);
|
1385
|
+
emailField.focus();
|
1386
|
+
return false;
|
1387
|
+
}
|
1388
|
+
|
1389
|
+
return true;
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
// clear all field values
|
1393
|
+
function _ClearAllFields(formName)
|
1394
|
+
{
|
1395
|
+
with (document.forms[formName])
|
1396
|
+
{
|
1397
|
+
var n;
|
1398
|
+
for (n=0; n<elements.length; n++)
|
1399
|
+
{
|
1400
|
+
if (elements[n].type != 'hidden' && elements[n].type != 'button')
|
1401
|
+
{
|
1402
|
+
if (elements[n].type != 'radio' && elements[n].type != 'checkbox')
|
1403
|
+
elements[n].value = '';
|
1404
|
+
else
|
1405
|
+
{
|
1406
|
+
if (elements[n].checked == true)
|
1407
|
+
elements[n].checked = false;
|
1408
|
+
}
|
1409
|
+
}
|
1410
|
+
}
|
1411
|
+
}
|
1412
|
+
}
|
1413
|
+
|
1414
|
+
function containsNonHTMLTag(strPassedVal)
|
1415
|
+
{
|
1416
|
+
if (strPassedVal.indexOf("<") >= 0 || strPassedVal.indexOf(">") >=0) return true;
|
1417
|
+
return false;
|
1418
|
+
}
|
1419
|
+
|
1420
|
+
//RDP-413 following function is added for input validation of form fields
|
1421
|
+
function alertIfInputValidationFails(ctrlName, strCtrlText, strRegx)
|
1422
|
+
{
|
1423
|
+
//if candidate is not entered any data, don't aplly validation logic. Exit from here
|
1424
|
+
if(ctrlName.value == '' || ctrlName.value.replace(/ /g, "").length == 0)
|
1425
|
+
{
|
1426
|
+
return true;
|
1427
|
+
}
|
1428
|
+
var Msg;
|
1429
|
+
var valueToValidate = ctrlName.value;
|
1430
|
+
|
1431
|
+
var RegExp1 = new RegExp(strRegx);
|
1432
|
+
//var RegExp1 = new RegExp('^[a-zA-Z]+$'); //only chars
|
1433
|
+
//var RegExp1 = new RegExp('^[0-9]+$'); //only numbers
|
1434
|
+
|
1435
|
+
if (valueToValidate.match(RegExp1) == null)
|
1436
|
+
{
|
1437
|
+
Msg = ReplaceInString(MSG_InputValidationFail, "[QUESTION]", "\"" + DecodeQuotes(strCtrlText) + "\"");
|
1438
|
+
alert(Msg);
|
1439
|
+
ctrlName.focus();
|
1440
|
+
return false;
|
1441
|
+
}
|
1442
|
+
|
1443
|
+
return true;
|
1444
|
+
}
|
1445
|
+
|
1446
|
+
</script>
|
1447
|
+
<script language="JavaScript" type="text/javascript" src="../../../Template/Scripts/TSValidate.js"></script>
|
1448
|
+
<style type="text/css">
|
1449
|
+
<!--
|
1450
|
+
.PBnbspSize { font-size: 15px;}
|
1451
|
+
.PBdashSize { font-size: 16px; }
|
1452
|
+
.PBwingdingsSize1 { font-size: 18px; }
|
1453
|
+
.PBwingdingsSize3 { font-size: 24px; }
|
1454
|
+
.PBSectionImgSize { }
|
1455
|
+
.PBSeparatorImgSize { height: 10px; width: 100%; }
|
1456
|
+
-->
|
1457
|
+
</style>
|
1458
|
+
|
1459
|
+
|
1460
|
+
<script></script>
|
1461
|
+
<NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT>
|
1462
|
+
<html>
|
1463
|
+
<head>
|
1464
|
+
<title>Archstone - Job details</title><META name='description' content='Search information technology and Internet job openings. Locate job fairs and career events. Post resumes to high tech employers.' </META>
|
1465
|
+
|
1466
|
+
|
1467
|
+
<script language="JavaScript" type="text/javascript" src="../../../Template/Scripts/windows.js"></script>
|
1468
|
+
<NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT>
|
1469
|
+
<script language="JavaScript" type="text/javascript" src="/css/Partner_25152_5244.js"></script>
|
1470
|
+
<NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT><NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT><NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT>
|
1471
|
+
<script language="JavaScript">
|
1472
|
+
function getWidth()
|
1473
|
+
{
|
1474
|
+
if (document.layers)
|
1475
|
+
{
|
1476
|
+
var w = window.innerWidth;
|
1477
|
+
var n = w - 180;
|
1478
|
+
var theimage = "<img src='../../images/pixel.gif' alt='' height=1 width=" + n +"border=1>";
|
1479
|
+
return theimage;
|
1480
|
+
}
|
1481
|
+
}
|
1482
|
+
|
1483
|
+
//Following Function Added by UmaShankar on 11/29/2001
|
1484
|
+
function goToSearchPage()
|
1485
|
+
{
|
1486
|
+
document.frmSearch.submit();
|
1487
|
+
}
|
1488
|
+
function showjob(lngNewSelection)
|
1489
|
+
{
|
1490
|
+
//''"RDP 294: Added amp; replace.
|
1491
|
+
document.frmJobDetail.action = "cim_jobdetail.asp?partnerid=25152&siteid=5244&jobid=217790";
|
1492
|
+
document.frmJobDetail.CurSel.value= lngNewSelection;
|
1493
|
+
document.frmJobDetail.submit();
|
1494
|
+
}
|
1495
|
+
function sendToFriend()
|
1496
|
+
{
|
1497
|
+
openWindow3('about:blank?sessionid=7B640F670E2DDAA02D48D02D8EBD2DA6B37A4EEB657D');
|
1498
|
+
document.frmSendToFriend.submit();
|
1499
|
+
}
|
1500
|
+
|
1501
|
+
function launchSocialMedia()
|
1502
|
+
{
|
1503
|
+
openWindow1('about:blank?sessionid=7B640F670E2DDAA02D48D02D8EBD2DA6B37A4EEB657D');
|
1504
|
+
document.frmSocialMedia.submit();
|
1505
|
+
}
|
1506
|
+
|
1507
|
+
function saveToJobCart()
|
1508
|
+
{
|
1509
|
+
var strTemp;
|
1510
|
+
var lIdx;
|
1511
|
+
var lLen;
|
1512
|
+
var arrSubInfo;
|
1513
|
+
|
1514
|
+
if (document.frmJobDetail.jobcartcnt.value > 50)
|
1515
|
+
alert (MSG_cim_jobdetail_JobCart);
|
1516
|
+
else
|
1517
|
+
{
|
1518
|
+
document.frmSaveToCart.chkJobClientIds.value = ReplaceInString(document.frmSaveToCart.chkJobClientIds.value, "%%", "");
|
1519
|
+
arrSubInfo = document.frmSaveToCart.chkJobClientIds.value.split("|");
|
1520
|
+
//09-09-02 GTG - Added JobReqLang - Venkat
|
1521
|
+
|
1522
|
+
if(arrSubInfo.length != 3)
|
1523
|
+
{
|
1524
|
+
strTemp = arrSubInfo[0] + "|" + arrSubInfo[1];
|
1525
|
+
document.frmSaveToCart.chkJobClientIds.value = strTemp;
|
1526
|
+
}
|
1527
|
+
|
1528
|
+
openWindow3('about:blank?sessionid=7B640F670E2DDAA02D48D02D8EBD2DA6B37A4EEB657D');
|
1529
|
+
document.frmSaveToCart.submit();
|
1530
|
+
}
|
1531
|
+
}
|
1532
|
+
|
1533
|
+
// Following function added by Sathyanarayanan K on 04/20/2005 for Selectedjobs
|
1534
|
+
function ApplyJobNow(strLocale)
|
1535
|
+
{
|
1536
|
+
var strGQId;
|
1537
|
+
var iLen, iIndx;
|
1538
|
+
var arrGQId;
|
1539
|
+
var arrGQIds;
|
1540
|
+
var lngNewSelection = 0;
|
1541
|
+
var lngSiteLocale = "1033"
|
1542
|
+
strGQId = "0"; // from Querystring
|
1543
|
+
|
1544
|
+
var lngSelect = 1;
|
1545
|
+
if (strGQId == '')
|
1546
|
+
{
|
1547
|
+
strGQId= document.frmJobDetail.JobInfo.value;
|
1548
|
+
arrGQId = (strGQId.substring(2, strGQId.length - 2)).split("%%");
|
1549
|
+
iLen = arrGQId.length;
|
1550
|
+
arrGQIds = arrGQId[lngSelect-1].split('|');
|
1551
|
+
if (arrGQIds[2] != 0)
|
1552
|
+
{
|
1553
|
+
if (strLocale == lngSiteLocale)
|
1554
|
+
{
|
1555
|
+
openWindow11("/" + strLocale + "/asp/tg/GQLogin.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&fjd=true&referer=&gqid="+ arrGQIds[2] + "&jobinfo=__" + arrGQId[lngSelect-1] + "__&applycount=1&type=search_jobdetail");
|
1556
|
+
}
|
1557
|
+
else
|
1558
|
+
{
|
1559
|
+
document.frmMassApply.GQID.value = arrGQIds[2];
|
1560
|
+
|
1561
|
+
document.frmMassApply.action= "/" + strLocale + "/asp/tg/apply.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&src=jd&qs=partnerid%3D25152%26siteid%3D5244%26jobid%3D217790";
|
1562
|
+
|
1563
|
+
document.frmMassApply.submit();
|
1564
|
+
}
|
1565
|
+
}
|
1566
|
+
else
|
1567
|
+
{
|
1568
|
+
document.frmMassApply.action= "/" + strLocale + "/asp/tg/apply.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4";
|
1569
|
+
document.frmMassApply.submit();
|
1570
|
+
}
|
1571
|
+
}
|
1572
|
+
else
|
1573
|
+
{
|
1574
|
+
|
1575
|
+
if (strGQId != 0)
|
1576
|
+
{
|
1577
|
+
if (strLocale == lngSiteLocale)
|
1578
|
+
{
|
1579
|
+
openWindow11("/" + strLocale + "/asp/tg/GQLogin.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&fjd=true&referer=&gqid=" + document.frmMassApply.GQID.value + "&jobinfo=__217790|1|0__&applycount=1&type=search_jobdetail");
|
1580
|
+
}
|
1581
|
+
else
|
1582
|
+
{
|
1583
|
+
|
1584
|
+
document.frmMassApply.action= "/" + strLocale + "/asp/tg/apply.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&src=jd&qs=partnerid%3D25152%26siteid%3D5244%26jobid%3D217790";
|
1585
|
+
|
1586
|
+
document.frmMassApply.submit();
|
1587
|
+
}
|
1588
|
+
}
|
1589
|
+
else
|
1590
|
+
{
|
1591
|
+
document.frmMassApply.action = "/" + strLocale + "/asp/tg/Apply.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4";
|
1592
|
+
document.frmMassApply.submit();
|
1593
|
+
}
|
1594
|
+
}
|
1595
|
+
}
|
1596
|
+
// End
|
1597
|
+
|
1598
|
+
function ApplyAsRegularJob()
|
1599
|
+
{
|
1600
|
+
document.frmMassApply.target = "_self";
|
1601
|
+
document.frmMassApply.GQID.value = "0";
|
1602
|
+
document.frmMassApply.action = "apply.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4";
|
1603
|
+
document.frmMassApply.submit();
|
1604
|
+
}
|
1605
|
+
|
1606
|
+
// TD:74615 : Added by Sathyanarayanan K on 29.07.2005
|
1607
|
+
function reload(sParam)
|
1608
|
+
{
|
1609
|
+
if (typeof(sParam) != 'undefined')
|
1610
|
+
{
|
1611
|
+
if (sParam == 'ApplyAsRegularJob')
|
1612
|
+
ApplyAsRegularJob();
|
1613
|
+
return;
|
1614
|
+
}
|
1615
|
+
var sGQId = "0";
|
1616
|
+
var arrGQId;
|
1617
|
+
var iLen = 0;
|
1618
|
+
if (sGQId == '' )
|
1619
|
+
{
|
1620
|
+
sGQId= document.frmJobDetail.JobInfo.value;
|
1621
|
+
arrGQId = (sGQId.substring(2, sGQId.length - 2)).split("%%");
|
1622
|
+
iLen = arrGQId.length;
|
1623
|
+
}
|
1624
|
+
|
1625
|
+
if ((iLen == 1) || (sGQId != ''))
|
1626
|
+
{
|
1627
|
+
|
1628
|
+
document.frmJobDetail.target = "_self";
|
1629
|
+
document.frmJobDetail.CurSel.value = "";
|
1630
|
+
document.frmJobDetail.action = "Logout.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&gqclose=yes&crl=yes&Exit=^kOrPIAkw5kv7mKe0ExOmHdsKEKIlMJ7VkD4PEWtcjpPDzsG/yfceIuN1BjnrYlozOeRWq/do6xCKGjNaWnNI4ux/wZJyGbF3r1T49vrjefamFgXwYsbzdCg3M6XYcviRr+oQkbYohmBOVbJuGZhWX6XatvDNr/jAuUeNHkJ1yU2eZBe9UP/u45/O/Cedx9F/saQpwDdcCy+k1I+1ootvXSQW2Nx7shM7tZv/XXQbiwjj9IZiUNmVy4lkoZ1NJ49AjaW9Tgc8q54/mIFW699j7Z8tTFRNa5Vg4onefixVFDaWjsY7eFuWCw==";
|
1631
|
+
document.frmJobDetail.submit();
|
1632
|
+
}
|
1633
|
+
}
|
1634
|
+
|
1635
|
+
//Following function Added by UmaShankar on 12/26/2001 for Mass apply from jobdetail
|
1636
|
+
function ApplyNow()
|
1637
|
+
{
|
1638
|
+
// Start of changes TD 35552 .. 7/22/2003
|
1639
|
+
var ApplyURL = "";
|
1640
|
+
|
1641
|
+
if (ApplyURL=="-1" ) ApplyURL= "";
|
1642
|
+
if (ApplyURL.length>0 )
|
1643
|
+
{
|
1644
|
+
|
1645
|
+
window.location.href=ApplyURL;
|
1646
|
+
}
|
1647
|
+
else
|
1648
|
+
//In case GTG if the job siteid is different than the current siteid
|
1649
|
+
//display warning pop-up to confirm site switched to job site
|
1650
|
+
{
|
1651
|
+
|
1652
|
+
|
1653
|
+
|
1654
|
+
ApplyJobNow('1033');
|
1655
|
+
|
1656
|
+
}
|
1657
|
+
|
1658
|
+
// End of Changes
|
1659
|
+
}
|
1660
|
+
//End Add
|
1661
|
+
|
1662
|
+
</script>
|
1663
|
+
<NOSCRIPT>In order to access this site, you need to enable Javascript. To change this setting, please refer to your browser's documentation.</NOSCRIPT>
|
1664
|
+
</head>
|
1665
|
+
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" >
|
1666
|
+
|
1667
|
+
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
1668
|
+
<tr>
|
1669
|
+
<td align="center" width="100%">
|
1670
|
+
<table border="0" cellspacing="0" cellpadding="0" > <tr><td><img src="/img/images_25152_5244/F_CL5244.gif"/></td></tr></table>
|
1671
|
+
</td>
|
1672
|
+
</tr>
|
1673
|
+
</table>
|
1674
|
+
|
1675
|
+
|
1676
|
+
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
1677
|
+
<tr>
|
1678
|
+
|
1679
|
+
<td valign="top" height ="100%">
|
1680
|
+
|
1681
|
+
</td>
|
1682
|
+
|
1683
|
+
<td width="8">
|
1684
|
+
<!-- spacer -->
|
1685
|
+
<img src="../../images/pixel.gif" alt="" width="10">
|
1686
|
+
</td>
|
1687
|
+
|
1688
|
+
|
1689
|
+
<!--Begin-->
|
1690
|
+
<td valign="top" align="left" width="100%">
|
1691
|
+
|
1692
|
+
|
1693
|
+
<a name="top">
|
1694
|
+
|
1695
|
+
|
1696
|
+
<form name="frmSearch" method="post" action="cim_searchresults.asp?ref=4132011153437&SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&referer=search">
|
1697
|
+
<input TYPE="HIDDEN" NAME="recordstart" VALUE="1">
|
1698
|
+
|
1699
|
+
<input TYPE="HIDDEN" NAME="JobInfo" VALUE="">
|
1700
|
+
|
1701
|
+
<input TYPE="HIDDEN" NAME="CartJobInfo" VALUE="%%217790|1|0%%">
|
1702
|
+
|
1703
|
+
<input TYPE="HIDDEN" NAME="JMSimilarJobCriteria2" VALUE=' <#AND> <LIKE>("{217790-25152-5244}")'>
|
1704
|
+
|
1705
|
+
<input TYPE="HIDDEN" NAME="JMSimilarJobCriteria" VALUE=''>
|
1706
|
+
|
1707
|
+
</form>
|
1708
|
+
|
1709
|
+
|
1710
|
+
|
1711
|
+
<form name="frmSendToFriend" method="post" action="cim_pop_emailtofriend.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4" target="7B640F670E2DDAA02D48D02D8EBD2DA6B37A4EEB657D">
|
1712
|
+
<input type="hidden" name="JobInfo" value="%%217790|1|0%%">
|
1713
|
+
<input type="hidden" name="VerityQuery" value="( PartnerId=25152 )<#AND>( SiteId=5244 ) <#AND>(dateopen <= 2011/04/13)<#AND>(dateclosed >= 2011/04/13 15:34:37)">
|
1714
|
+
<input type="hidden" name="JobSiteInfo" value="217790_5244">
|
1715
|
+
</form>
|
1716
|
+
<form name="frmSaveToCart" method="post" action="cim_pop_savejobs.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4" target="7B640F670E2DDAA02D48D02D8EBD2DA6B37A4EEB657D">
|
1717
|
+
<input type="hidden" name="chkJobClientIds" value="%%217790|1|0%%">
|
1718
|
+
<input TYPE="HIDDEN" NAME="JobSiteInfo" VALUE="217790_5244,">
|
1719
|
+
</form>
|
1720
|
+
<form name="frmSocialMedia" method="post" action="SocialMedia_pop.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4" target="7B640F670E2DDAA02D48D02D8EBD2DA6B37A4EEB657D">
|
1721
|
+
<input type="hidden" name="jobid" value="217790">
|
1722
|
+
</form>
|
1723
|
+
<form name="frmMassApply" method="post">
|
1724
|
+
<input TYPE="HIDDEN" NAME="JobInfo" VALUE="%%217790|1|0%%">
|
1725
|
+
<input TYPE="HIDDEN" NAME="jv_JobInfo" VALUE="">
|
1726
|
+
<input TYPE="HIDDEN" NAME="recordstart" VALUE="1">
|
1727
|
+
<input TYPE="HIDDEN" NAME="CurSel" VALUE="1">
|
1728
|
+
<input TYPE="HIDDEN" NAME="JobSiteInfo" VALUE="217790_5244">
|
1729
|
+
<input TYPE="HIDDEN" NAME="type" VALUE="search_jobdetail">
|
1730
|
+
<input TYPE="HIDDEN" NAME="GQID" VALUE="0">
|
1731
|
+
<input TYPE="HIDDEN" NAME="ApplyCount" VALUE="1">
|
1732
|
+
|
1733
|
+
|
1734
|
+
</form>
|
1735
|
+
|
1736
|
+
|
1737
|
+
|
1738
|
+
|
1739
|
+
<form name="frmJobDetail" method="post">
|
1740
|
+
<input type="hidden" name="jobcartcnt" value="0">
|
1741
|
+
|
1742
|
+
<input TYPE="HIDDEN" NAME="JobInfo" VALUE="">
|
1743
|
+
<input TYPE="HIDDEN" NAME="JobSiteInfo" VALUE="217790_5244">
|
1744
|
+
<input TYPE="HIDDEN" NAME="recordstart" VALUE="1">
|
1745
|
+
<input TYPE="HIDDEN" NAME="CurSel" VALUE="1">
|
1746
|
+
|
1747
|
+
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
1748
|
+
|
1749
|
+
|
1750
|
+
<tr>
|
1751
|
+
<td vAlign=top align=left width="80%">
|
1752
|
+
<table border="0" cellspacing="0" cellpadding="0" class="breadcrumbtable"><tr><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td width="%" align="center" nowrap valign="bottom"><font class="PBwingdingsSize1" face="Wingdings 2" color="#3D5D9C">Å</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" align="center" nowrap valign="bottom"><font class="PBwingdingsSize1" face="Wingdings 2" color="#3D5D9C">Å</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" align="center" nowrap valign="bottom"><font class="PBwingdingsSize1" face="Wingdings 2" color="#3D5D9C">Å</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" valign="middle"><font class="PBdashSize" face="Courier" color="#3D5D9C">▬</font></td><td width="%" align="center" nowrap valign="bottom"><font class="PBwingdingsSize1" face="Wingdings 2" color="#3D5D9C">›</font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td><td valign="middle"><font class="PBnbspSize" face="Courier"> </font></td></tr><tr><td valign="top" align="center" resize="no" nowrap="no" colspan="9"><span class="COOKIEcrumbtext"><a href="cim_home.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4">Home</a></span></td><td valign="top" align="center" resize="no" nowrap="no" colspan="9"><span class="COOKIEcrumbtext"><a href="cim_advsearch.asp?SID=^VtH0CBvCjkxO6g3hj_slp_rhc_lOJM2pC44NdeHCnh8FDZCdtbYyFkrCA9ezUEqXfXTnNMS4&ref=4132011153437">Search <br> openings</a></span></td><td valign="top" align="center" resize="no" nowrap="no" colspan="9"><span class="COOKIEcrumbtext"><a href="javascript:void(0);goToSearchPage();">Search <br> results</a></span></td><td valign="top" align="center" resize="no" nowrap="no" colspan="9"><span class="COOKIEcrumbtext">Job <br> details</span></td></tr><tr><td colspan="100"> </td></tr></table>
|
1753
|
+
|
1754
|
+
<!-- cookie crumbs -->
|
1755
|
+
<!--
|
1756
|
+
<table class="COOKIEcrumbs" border="0" cellpadding="0" cellspacing="0" width="100%">
|
1757
|
+
<tr><td height="3" colspan="5" class="COOKIEcrumbback"><img height="3" alt="" src="../../images/pixel.gif"></td></tr>
|
1758
|
+
<tr>
|
1759
|
+
<td width="10" class="COOKIEcrumbback"><img src="../../images/pixel.gif" alt="" width="10"></td>
|
1760
|
+
<td width="90%" class="COOKIEcrumbback"><span class="COOKIEcrumbtext"><a href="cim_home.asp">Home</a> >
|
1761
|
+
|
1762
|
+
<a href="cim_advsearch.asp?ref=4132011153437">Search openings</a> > <a href="javascript:void(0);goToSearchPage();">Search results</a> > Job details
|
1763
|
+
</td>
|
1764
|
+
<td align="right" nowrap="nowrap" class="COOKIEcrumbback"><a href="javascript:openWindow6('help/TG_help.asp?&type=help%23cim_jobdetail_help');" title="View help for this window"><img src="../../images/icon_help_small.gif" alt="View help for this window" valign="bottom" border="0"></a></td>
|
1765
|
+
<td align="left" nowrap="nowrap" class="COOKIEcrumbback"><a href="javascript:openWindow6('help/TG_help.asp?&type=help%23cim_jobdetail_help');" title="View help for this window" class="HELPlink">Help</a></td>
|
1766
|
+
<td width="10" class="COOKIEcrumbback"><img src="../../images/pixel.gif" alt="" width="10"></td>
|
1767
|
+
<tr><td colspan="5" class="COOKIEcrumbback"><img src="../../images/pixel.gif" alt="" height="10" width="1"></td></tr>
|
1768
|
+
<tr><td colspan="5"><img src="../../images/pixel.gif" alt="" height="10" width="1"></td></tr>
|
1769
|
+
</tr>
|
1770
|
+
</table>
|
1771
|
+
-->
|
1772
|
+
|
1773
|
+
</td>
|
1774
|
+
<td width="20%">
|
1775
|
+
|
1776
|
+
<table class="COOKIEcrumbs" border="0" cellpadding="0" cellspacing="0" width="100%">
|
1777
|
+
<tr>
|
1778
|
+
<td align="right" nowrap="nowrap" class="COOKIEcrumbback"><a href="javascript:openWindow6('help/TG_help.asp?&type=help%23cim_jobdetail_help');" title="View help for this window"><img src="../../images/icon_help_small.gif" alt="View help for this window" valign="bottom" border="0"></a></td>
|
1779
|
+
<td align="left" nowrap="nowrap" class="COOKIEcrumbback"><a href="javascript:openWindow6('help/TG_help.asp?&type=help%23cim_jobdetail_help');" title="View help for this window" class="HELPlink">Help</a></td>
|
1780
|
+
<td width="10" class="COOKIEcrumbback"><img src="../../images/pixel.gif" alt="" width=10></td>
|
1781
|
+
<td colspan="5" class="COOKIEcrumbback"><img src="../../images/pixel.gif" alt="" height="10" width="1"></td>
|
1782
|
+
</tr>
|
1783
|
+
</table>
|
1784
|
+
|
1785
|
+
</td>
|
1786
|
+
</tr>
|
1787
|
+
|
1788
|
+
|
1789
|
+
<tr>
|
1790
|
+
<td valign="top" width="80%">
|
1791
|
+
|
1792
|
+
<!--begin primary content of page-->
|
1793
|
+
<table width="92%" border="0" cellpadding="0" cellspacing="0" align="center">
|
1794
|
+
|
1795
|
+
|
1796
|
+
<tr>
|
1797
|
+
<td class="PAGEtitleTabback" width="10" height="20" nowrap="nowrap" valign="abstop"><img src="../../images/left_tab_inactive.gif" alt="" width="10" height="20" /></td>
|
1798
|
+
<td class="PAGEtitleTabback" nowrap><span class="PAGEtitleTabtext">Job details</span></td>
|
1799
|
+
<td class="PAGEtitleTabback" width="10" height="20" nowrap="nowrap" align="right" valign="abstop"><img src="../../images/right_tab_inactive.gif" alt="" width="10" height="20" /></td>
|
1800
|
+
<td width="90%" valign="bottom"> </td>
|
1801
|
+
</tr>
|
1802
|
+
<tr>
|
1803
|
+
<td height="1" colspan="3" class="PAGEtitleTabback"><img src="../../images/pixel.gif" alt="" height="2"></td>
|
1804
|
+
<td width="90%"><img src="../../images/pixel.gif" alt="" height="1"></td>
|
1805
|
+
</tr>
|
1806
|
+
|
1807
|
+
<tr><td height="0" colspan="4" class="BRANDINGdom2dark"><img src="../../images/pixel.gif" alt="" height="1"></td></tr>
|
1808
|
+
</table>
|
1809
|
+
|
1810
|
+
<table width="92%" border="0" cellPadding="2" cellSpacing="0" align="center">
|
1811
|
+
<tr><td colSpan="5"><img height="2" alt="" src="../../images/pixel.gif"></td></tr>
|
1812
|
+
<tr>
|
1813
|
+
|
1814
|
+
<!-- <td width="10%"> </td>-->
|
1815
|
+
|
1816
|
+
|
1817
|
+
<td colspan="5" align="center" valign="middle" nowrap class="SMALLtext" ><b>
|
1818
|
+
Job 1</b> of 1 </td>
|
1819
|
+
|
1820
|
+
|
1821
|
+
<!--<td width="10%"> </td>-->
|
1822
|
+
|
1823
|
+
</tr>
|
1824
|
+
|
1825
|
+
<tr><td colSpan="5"><img height="4" alt="" src="../../images/pixel.gif"></td></tr>
|
1826
|
+
</table>
|
1827
|
+
<table width="92%" border="0" cellPadding="3" cellSpacing="0" align="center">
|
1828
|
+
<tr>
|
1829
|
+
<td align="center" nowrap>
|
1830
|
+
|
1831
|
+
<label for="button1"></label><input type="button" class="REGbutton" value="Apply to Job(s)" id=button1 name=button1 onClick="javascript:ApplyNow();">
|
1832
|
+
|
1833
|
+
<label for="button2"></label><input type="button" class="REGbutton" value="Send to friend" id=button2 name=button2 onClick="javascript:sendToFriend();">
|
1834
|
+
|
1835
|
+
<label for="button3"></label><input type="button" class="REGbutton" value="Save to cart" id=button3 name=button3 onClick="javascript:saveToJobCart();">
|
1836
|
+
|
1837
|
+
<label for="button4"></label><input type="button" class="REGbutton" value="View similar jobs" id=button4 name=button4 onClick="javascript: frmSearch.JMSimilarJobCriteria.value = frmSearch.JMSimilarJobCriteria2.value; goToSearchPage();">
|
1838
|
+
|
1839
|
+
<!--RDP 294:Start-->
|
1840
|
+
|
1841
|
+
</td>
|
1842
|
+
</tr>
|
1843
|
+
</table>
|
1844
|
+
|
1845
|
+
<table width="92%" border="0" cellPadding="3" cellSpacing="0" align="center">
|
1846
|
+
|
1847
|
+
|
1848
|
+
<tr><td colspan="2"><IMG alt="" height="4" src="../../images/pixel.gif"></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Job Title">Job Title</label></span></td><td width="80%" align="left"><span class="TEXT" id="Job Title">Door Attendant</span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Job Description">Job Description</label></span></td><td width="80%" align="left"><span class="TEXT" id="Job Description"> <font size=2>Looking for a stable position with flexible shifts at one of America's most respected apartment companies? Our Full-time Door Attendant position is a perfect opportunity for someone who enjoys the balance between customer service and periods of quiet. This job can be a great first step to a bright future, or it can be a perfect job for anyone looking for a friendly, low-stress job. <br><strong><br>Job Description</strong> <br>Responsibilities include opening the door for all residents and guests; warmly greeting everyone entering and leaving the building; hailing taxi cabs; answering resident questions; helping elderly or others in need of assistance into cars or taxi cabs; maintaining a clean front entry to the building; notifying residents of the arrival of cars, packages or visitors; preventing unwelcome individuals from entering the building; and any other services required for maintaining a first-class level of resident service, care and safety. Must enjoy helping people. A professional, friendly attitude is important. <strong><br><br>Requirements</strong> <br><ul><br><li>Be willing to join the local union <br><li>Exceptional communication and people skills (you love interacting with a range of personalities!) <br><li>Friendly, polite personality <br><li>Self-motivated; can work independently <br><li>Willingess to join local union <br><li>Must be willing and able to work the following schedule: Saturday/Sunday 6:30 a.m. - 3:00 p.m., Monday/Tuesday 2:30 p.m. - 11:00 p.m., Wednesday 10:30 p.m. - 7:00 a.m.</li></ul><strong>Why You'd Want This Job</strong> <br><ul><br><li>Low stress, steady work with set shifts <br><li>Great benefits, including excellent health care and paid vacation <br><li>Opportunities for advancement with a well-respected national company (One of America's Most Admired Companies - Fortune magazine 2004) </li></ul>To learn more about Archstone, visit our website at <A href="http://www.archstoneapartments.com/" target=_blank>ArchstoneApartments.com</A>. <br><br>Archstone is an Equal Opportunity Employer. As a condition of employment, a satisfactory hair follicle drug test and background check are required. <br><CENTER><strong><br>Make your talents known! Apply today!</strong></CENTER></font> </span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Market">Market</label></span></td><td width="80%" align="left"><span class="TEXT" id="Market">New York</span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Location Name">Location Name</label></span></td><td width="80%" align="left"><span class="TEXT" id="Location Name">Archstone Midtown West</span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Department">Department</label></span></td><td width="80%" align="left"><span class="TEXT" id="Department">Archstone Midtown West</span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Location: City">Location: City</label></span></td><td width="80%" align="left"><span class="TEXT" id="Location: City">New York</span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Location: State">Location: State</label></span></td><td width="80%" align="left"><span class="TEXT" id="Location: State">New York</span></td></tr><tr><td valign="top"><span class="Fieldlabel"><label for="Auto req ID">Auto req ID</label></span></td><td width="80%" align="left"><span class="TEXT" id="Auto req ID">14879BR</span></td></tr></table>
|
1849
|
+
<table width="92%" border="0" cellPadding="3" cellSpacing="0" align="center">
|
1850
|
+
<tr>
|
1851
|
+
<td align="center" nowrap>
|
1852
|
+
|
1853
|
+
<label for="button1"></label><input type="button" class="REGbutton" value="Apply to Job(s)" id=button1 name=button1 onClick="javascript:ApplyNow();">
|
1854
|
+
|
1855
|
+
<label for="button2"></label><input type="button" class="REGbutton" value="Send to friend" id=button2 name=button2 onClick="javascript:sendToFriend();">
|
1856
|
+
|
1857
|
+
<label for="button3"></label><input type="button" class="REGbutton" value="Save to cart" id=button3 name=button3 onClick="javascript:saveToJobCart();">
|
1858
|
+
|
1859
|
+
<label for="button4"></label><input type="button" class="REGbutton" value="View similar jobs" id=button4 name=button4 onClick="javascript: frmSearch.JMSimilarJobCriteria.value = frmSearch.JMSimilarJobCriteria2.value; goToSearchPage();">
|
1860
|
+
|
1861
|
+
<!--RDP 294:Start-->
|
1862
|
+
|
1863
|
+
</td>
|
1864
|
+
</tr>
|
1865
|
+
</table>
|
1866
|
+
|
1867
|
+
|
1868
|
+
|
1869
|
+
|
1870
|
+
|
1871
|
+
</table>
|
1872
|
+
</form>
|
1873
|
+
<br><Div align='center'><img alt="Powered by Kenexa" src=../../images/powered_by.gif border=0></Div>
|
1874
|
+
|
1875
|
+
</tr>
|
1876
|
+
|
1877
|
+
|
1878
|
+
</table>
|
1879
|
+
|
1880
|
+
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
1881
|
+
<tr>
|
1882
|
+
<td align="center" width="100%">
|
1883
|
+
<script type="text/javascript">
|
1884
|
+
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
1885
|
+
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
1886
|
+
</script>
|
1887
|
+
<script type="text/javascript">
|
1888
|
+
try {
|
1889
|
+
var pageTracker = _gat._getTracker("UA-12492436-1");
|
1890
|
+
pageTracker._trackPageview();
|
1891
|
+
} catch(err) {}</script>
|
1892
|
+
</td>
|
1893
|
+
|
1894
|
+
</tr>
|
1895
|
+
</table>
|
1896
|
+
|
1897
|
+
<!--LDP014 SEO-->
|
1898
|
+
<span id="IndexMonitor" style="display:none"> Index Monitor </span>
|
1899
|
+
</body>
|
1900
|
+
</html>
|