/*
* n13v8.js: code for IPv6 dynamic listing
*
* $Revision: 1.2 $
*
* (c) 1992-2011 Cisco Systems, Inc. All rights reserved.
* Terms and Conditions: http://cisco.com/en/US/swassets/sw293/sitewide_important_notices.html
*/
cdc.util.ensureNamespace('cdc.cl');
cdc.cl.n13v8 = {
// Variable declaration for date to millisecond conversion.
MonthArr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
formatDate: new Date(),
docrsRequest: function(domNode, myObj){
// Generate N ajax request based on concept array length from pref object.
for (i = 0; i < myObj.PrefsObj.labels.concept.length; i++) {
// Generate dynamics CRS URL based on the values from pref object.
generateURL = "";
generateURL += myObj.PrefsObj.labels.service_root;
generateURL += myObj.PrefsObj.labels.service_prefix;
generateURL += myObj.PrefsObj.labels.entitlement;
generateURL += "/" + myObj.PrefsObj.labels.concept[i];
generateURL += "?cdcdoctype=" + myObj.PrefsObj.labels.doctype[i];
generateURL += "&listingname=" + myObj.PrefsObj.labels.listingname;
generateURL += "&sortlistingby=" + myObj.PrefsObj.labels.sortby;
/* Including locale paramater condition - Phase 2
if (typeof(myObj.PrefsObj.labels.locale) != 'undefined')
generateURL += "&locale=" + myObj.PrefsObj.labels.locale;
*/
// Initiate the AJAX call.
jQuery.ajax({
type: 'GET',
url: generateURL,
dataType: 'jsonp',
success: function(data){
cdc.cl.n13v8.handleResult(domNode, myObj, data);
}
});
}
},
handleResult: function(domNode, myObj, data){
oneday = 1000 * 60 * 60 * 24;
var dateDiff;
// Check the "Success" status message and the number of document in JSON
if (typeof(data["crsresponse"].allDocs) != 'undefined' && data["crsresponse"].allDocs[0].count != 0 && data["crsresponse"].status == "Success") {
// If the section label is defined then create a H3 header
if (jQuery('#' + domNode).parent().find('h3').length == 0 && typeof(myObj.PrefsObj.labels.section_title) != 'undefined') {
jQuery('#' + domNode).before("
" + myObj.PrefsObj.labels.section_title + "
");
}
// Convert the current date from JSON to milli second for date difference
if (typeof(data["crsresponse"].date) != 'undefined')
currentDateToMS = cdc.cl.n13v8.convertDateToMS(data["crsresponse"].date);
// Generate HTML based on document length from JSON
for (i = 0; i < data["crsresponse"].allDocs[0].docs.length; i++) {
if (typeof(data["crsresponse"].date) != 'undefined') {
docDate = data["crsresponse"].allDocs[0].docs[i].lastmodified;
lastmodDateToMS = cdc.cl.n13v8.convertDateToMS(docDate);
dateDiffToMS = currentDateToMS - lastmodDateToMS;
dateDiff = Math.round(dateDiffToMS / oneday);
}
// Check the document is PDF and it's modified within last 14 days
if (dateDiff < 15 && data["crsresponse"].allDocs[0].docs[i].contentType == "application/pdf") {
generateHTML = generateHTML + '' + data["crsresponse"].allDocs[0].docs[i].title + ' (PDF) New!';
}
// Check the document is PDF
else
if (data["crsresponse"].allDocs[0].docs[i].contentType == "application/pdf") {
generateHTML = generateHTML + '' + data["crsresponse"].allDocs[0].docs[i].title + ' (PDF) ';
}
// Check the document is modified within last 14 days
else
if (dateDiff < 15) {
generateHTML = generateHTML + '' + data["crsresponse"].allDocs[0].docs[i].title + ' New! ';
}
else {
generateHTML = generateHTML + '' + data["crsresponse"].allDocs[0].docs[i].title + '';
}
}
// Adding the generated HTML code to current ID
jQuery('#' + domNode).append(generateHTML);
generateHTML = "";
}
},
// Function to convert Date in to milli second
convertDateToMS: function(fDate){
// slicing Date, Month and Year
dat = fDate.slice(5, 7);
mon = fDate.slice(8, 11);
year = fDate.slice(12, 16);
// Converting numeric month to alphabets
for (j = 0; j <= cdc.cl.n13v8.MonthArr.length; j++) {
if (cdc.cl.n13v8.MonthArr[j] == mon)
mon = j;
}
// Setting Date, Month and Year to JS date format
cdc.cl.n13v8.formatDate.setYear(year);
cdc.cl.n13v8.formatDate.setDate(dat);
cdc.cl.n13v8.formatDate.setMonth(mon);
// Returning Date in milli second
return cdc.cl.n13v8.formatDate.getTime();
}
}
var generateHTML = "";
// On document ready set the pref object
jQuery(document).ready(function(){
jQuery('.n13v8').each(function(){
if (document.getElementById(this.id).n13v8.PrefsObj) {
var myObj = document.getElementById(this.id).n13v8;
cdc.cl.n13v8.docrsRequest(this.id, myObj);
}
});
});