// JavaScript Document
var SIPL= {};
var oAddEditGbHW={};
var oAddViewGbHW={};
var oMultiFilter={};
var GBPARAMETER={};
var isIE=$.browser.msie;
var isFF=$.browser.mozilla;
var sidebar_home_tab_selected=1;
var UPDATEOPTION={
	ACTIVE: 1,
	INACTIVE: 0,
	APPROVED: 1,
	DISAPPROVED: 0,
	FEATURED: 1,
	NOTFEATURED: 0
};

var KEY_CODE = {
	TAB_DOWN_KEY: 35,
	TAB_UO_KEY: 36,
	ENTER_KEY: 13,
	ESC_KEY: 27,
	BACKSPACE_KEY: 8,
	TAB_KEY: 9,
	F9_KEY: 120,
	F12_KEY: 123
};

var INPUT_TYPE = {
	TEXTFIELD: "TEXT",
	PASSWORD: "PASSWORD",
	COMBOBOX: "SELECT",
	TEXTAREA: "TEXTAREA",
	V_TRUE: "1"
};

var CONDITION = {
	EMPTY_STR: "IS EMPTY",
	NON_EMPTY_STR: "IS NOT EMPTY",
	BETWEEN_STR: "BETWEEN",
	NULL_STR: "IS NULL",
	NON_NULL_STR: "IS NOT NULL",
	ERROR_CODE_TAG: "KEY",
	ERROR_MESSAGE_TAG: "MESSAGE",
	HEADER_CODE_INDEX: 0
};

var VALID_FILE_EXT = new Array("pdf","doc","xls");

var INVALID_FILENAME_CHARS = new Array("%","\\","/","*","?",":","\"","<",">","|");


//dldean code

function ajaxURL(obj){
	var tmp = obj.toString().split('/');
	var l = tmp.length;
	var call = tmp[l-1];
	var tmp2 = call.split('?');
	var cmd = tmp2[0];
	if (tmp2[1]) {
		var tmp3 = tmp2[1].split('&');
		var vars = "'"+tmp3.join("','")+"'";
	} else {
		vars = '';
	}
	//alert(cmd+'('+vars+');');
	eval(cmd+'('+vars+');');
	//addFriend(tmp2[1]);
}

function ajaxResponse(obj){
	if (obj.update){
		for(i in obj.update) {
			var itm = obj.update[i];
			$('#'+itm.id).html(itm.html);
		}
	}
	
}


function register(){
	SIPL.SEEIMGREEN.OpenBb("Registration","addme/",550,800);
}

function closeReg(){	
	GB_CURRENT.hide();
}





// Assigning loading / processing your request on ajax start and stop
$(document).ready(function(){
	//$("input:text,input:password,textarea").outlineTextInputs();
	/*$.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#FFF', opacity: '0.7', zIndex: '200000' });
	$().ajaxStart(function(){
		$.blockUI('<h2>'+MSG.PROCCESSING_REQUEST+'</h2>',{ width: '550px'});
	});
	$().ajaxStop($.unblockUI);*/
});

var mikExp = /[$\\@\\\#%\^\&\*\\;\(\)\[\]\+\_\{\}\`\~\=\|]/;

function doanothercheck(val) {

	if(val.search(mikExp) == -1) {
		//alert("Correct Input");
		return true;
	}else {
		return false;
	}
}
function generateCategoryMenus() {
	var li = $("#spz_categories").find("LI");
	for(var i=0; i<li.length; i++){
		li[i].onmouseover = function(){
			$(this).addClass("iehover");
		}
		li[i].onmouseout = function(){
			$(this).removeClass("iehover");
		}
	}
};

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
};

Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
};

Object.extend(String, {
  interpret: function(value) {
    return value == null ? '' : String(value);
  },
  specialChar: {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '\\': '\\\\'
  }
});

Object.extend(String.prototype, {
	trim: function(){ // Trim : Usage => var test3 = test.trim();
		return this.replace(/^\s+|\s+$/g,"");		
	},
	
	ltrim: function(){ // Left Trim : Usage => var test3 = test.ltrim();
		return this.replace(/^\s+/g,"");
	},
	
	rtrim: function(){ // Right Trim : Usage => var test3 = test.rtrim();
		return this.replace(/\s+$/g,"");
	},
	
	truncate: function(length, truncation) {
		length = length || 30;
		truncation = truncation === undefined ? '...' : truncation;
		return this.length > length ? this.slice(0, length - truncation.length) + truncation : this;
	},
  
	reverseStr: function(s) {
		if(!s) return '';
		var a=(s+'').split('');
		a.reverse();
		return a.join('');
	},

  strip: function() {    
	return this.replace(/^\s+/, '').replace(/\s+$/, '');
  },

  stripTags: function() {
    //var tmp = '<a href="htpp://somespammer.com">Some Link</a>';
	//var safe= tmp.stripTags(); // Returns Some Link;
	return this.replace(/<\/?[^>]+>/gi, '');	
  },

  stripScripts: function() {
    return this.replace(new RegExp(SIPL.Util.ScriptFragment, 'img'), '');
  },

	strip_script_tags: function(){
		var s=this.replace(/<\/?[^>]+>/gi, '');// Stripping tags
		s=s.replace(new RegExp(SIPL.Util.ScriptFragment, 'img'), ''); // stripping script
		return s;
	},
	
   htmlEntities: function () {
     //var tmp = '<html><head></head>';
	 //var safe= tmp.htmlEntities(); // Returns &lt;html&gt;&lt;head&gt;&lt;/head&gt;
	 return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
   },
   
  toQueryParams: function(separator) {
    var match = this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) return {};

    return match[1].split(separator || '&').inject({}, function(hash, pair) {
      if ((pair = pair.split('='))[0]) {
        var key = decodeURIComponent(pair.shift());
        var value = pair.length > 1 ? pair.join('=') : pair[0];
        if (value != undefined) value = decodeURIComponent(value);

        if (key in hash) {
          if (hash[key].constructor != Array) hash[key] = [hash[key]];
          hash[key].push(value);
        }
        else hash[key] = value;
      }
      return hash;
    });
  },

  toArray: function(delimeter) {
    return this.split(delimeter);
  },

  succ: function() {
    return this.slice(0, this.length - 1) +
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
  },

  times: function(count) {
    var result = '';
    for (var i = 0; i < count; i++) result += this;
    return result;
  },

  camelize: function() {
    var parts = this.split('-'), len = parts.length;
    if (len == 1) return parts[0];

    var camelized = this.charAt(0) == '-'? parts[0].charAt(0).toUpperCase() + parts[0].substring(1): parts[0];

    for (var i = 1; i < len; i++)
      camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);

    return camelized;
  },

  capitalize: function() {
    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
  },

  include: function(pattern) {
    return this.indexOf(pattern) > -1;
  },

  startsWith: function(pattern) {
    return this.indexOf(pattern) === 0;
  },

  endsWith: function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
  },

  empty: function() {
    return this == '';
  },

  blank: function() {
    return /^\s*$/.test(this);
  }
});


SIPL.Debug ={
	isDebug: true,
	
	printStatusMsg: function(msg){
		var stMsg = $("#StatusMsg");
		stMsg.empty();
		stMsg.show();
		/*stMsg.prepend("<img src='"+BASE_PATH+"images/close.gif' align='absmiddle' alt='Click to close status message.' title='Click to close status message.' style='position:relative;top:-3px;padding-right:5px;' onclick='$(\"#StatusMsg\").hide()' />");*/
		stMsg.append(msg);
		$("#StatusClose").show();
		$("#div_holderStatusMsg").show();

		$("#StatusClose").html("<label title='Click to close status message.'  onclick='$(\"#div_holderStatusMsg\").hide()' />Close</label>")
	},
	
	showAlert:function(errmsg,err_container_id){
		var alert_container_id = $(err_container_id);
		alert_container_id.empty();
		errMsg=SIPL.Util.replaceCharacters(escape(errmsg),"%0A","<br/>");
		alert_container_id.html(unescape(errMsg));
		alert_container_id.show();
		alert_container_id.bind("click",function(){alert_container_id.hide();});
	},
	
	alertMsg: function(msg){
		if(this.isDebug)
			alert(msg);
	},
	
	alertErr: function(err){
		alert(err)
	},
	
	alertException: function(err){
		if(this.isDebug)
			alert(err.message)
	},
	updateConfirm: function(){
		var feedback = confirm(MSG.UPDATE_CONFIRMATION);
		return (feedback)?true:false;
	},
	deleteConfirm: function(){
		var b = confirm(MSG.DELETE_CONFIRMATION);
		return (b)?true:false;
	},
	restoreConfirm: function(){
		var b = confirm(MSG.RESTORE_CONFIRMATION);
		return (b)?true:false;
	}
};

SIPL.Element = {
	getEl: function(element) {
	  if (arguments.length > 1) {
		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
		  elements.push(SIPL.Element.getEl(arguments[i]));
		return elements;
	  }
	  if (typeof element == 'string')
		element = document.getElementById(element);
	  return element;
	},
	
	remove: function(element) {
		element = SIPL.Element.getEl(element);
		element.parentNode.removeChild(element);
		return element;
	},
	
	getHeight: function(element) {
		return this.getDimensions(element).height;
	},
	
	getWidth: function(element) {
		return this.getDimensions(element).width;
	},
	
	getStyle: function(element, style) {
		element = SIPL.Element.getEl(element);
		style = style == 'float' ? 'cssFloat' : style.camelize();
		var value = element.style[style];
		try{
			if (!value) {
			  var css = document.defaultView.getComputedStyle(element, null);
			  value = css ? css[style] : null;
			}
		}catch(e){}
		if (style == 'opacity') return value ? parseFloat(value) : 1.0;
		return value == 'auto' ? null : value;
	},
	
	setOpacity: function(element, value) {
		element = SIPL.Element.getEl(element);
		element.style.opacity = (value == 1 || value === '') ? '' : (value < 0.00001) ? 0 : value;
		return element;
	},
	
	getDimensions: function(element) {
		element = SIPL.Element.getEl(element);
		var display = this.getStyle(element,'display');
		if (display != 'none' && display != null) // Safari bug
			return {width: element.offsetWidth, height: element.offsetHeight};
		
		// All *Width and *Height properties give 0 on elements with display none,
		// so enable the element temporarily
		var els = element.style;
		var originalVisibility = els.visibility;
		var originalPosition = els.position;
		var originalDisplay = els.display;
		els.visibility = 'hidden';
		els.position = 'absolute';
		els.display = 'block';
		var originalWidth = element.clientWidth;
		var originalHeight = element.clientHeight;
		els.display = originalDisplay;
		els.position = originalPosition;
		els.visibility = originalVisibility;
		return {width: originalWidth, height: originalHeight};
	}
};
/*
 ****************************************** UTILITY FUNCTIONS STARTS **********************************************************
*/
SIPL.Util = {
	BrowserFeatures: {
		XPath: !!document.evaluate,
		ElementExtensions: !!window.HTMLElement,
		SpecificElementExtensions: (document.createElement('div').__proto__ !== document.createElement('form').__proto__)
	},

	ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',
	
	JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,
	
	getScreenHeight: function(){
		winHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ){
			winHeight = window.innerHeight;
		}else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight )){
			winHeight = document.documentElement.clientHeight;
		}else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ){
			winHeight = document.body.clientHeight;
		}
		return winHeight;
	},
	
	getScreenWidth: function(){
		var winWidth = 0;
		if( typeof( window.innerWidth ) == 'number' ){
			winWidth = window.innerWidth;
		}else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight )){
			winWidth = document.documentElement.clientWidth;
		}else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ){
			winWidth = document.body.clientWidth;
		}
		return winWidth;
	},
	
	setGBBoxHW: function(H,W){
		if (window.outHeight) {
		  // Netscape code
		  //oH = window.outerHeight; 
		  //oW = window.outerWidth; 
		  window.outerHeight = H; 
		  window.outerWidth = W; 
		}
		else {
		  //iW = document.body.clientWidth; 
		  //iH = document.body.clientHeight; 
		  window.parent.resizeTo(W,H);
		}
	},
	
	replaceCharacters: function(conversionString,inChar,outChar){
		var strConvertedString = conversionString.split(inChar);
		strConvertedString = strConvertedString.join(outChar);
		return strConvertedString;
	},
	
	removeRepeatedCharacters: function(string, delimiter){
		var returnString = "";
		splitstring = string.split(delimiter);		
		for(i = 0; i < splitstring.length; i++){
			if (splitstring[i]!="") returnString += splitstring[i] + delimiter;
		}
		return returnString;
	},
	
	removeArrayElem: function(arr,elem){
		if(arr.length>0){
			for(var i=0;i<arr.length;i++){
				if(arr[i]==elem) arr.splice(i, 1);
			}
		}
	},
	
	removeNewLineChar: function(pValue){ // Removes new line char from the provided value
		newline = /\n/g;
		return pValue.toString().replace(newline,'');
	},
	
	toBoolean: function(dt) {
		return (dt=='true'||dt>=1)? true:false;
	},
	
	closeWin: function(){
		window.close();
	},
	
	goBack: function(){
		history.go(-1);
	},
	
	redirect: function(url){
		location.href=BASE_PATH + url;
	},
	
	showPopUpWin: function(url,winName,wWidth,wHeight){
		// Variables used for centering the popup window
		var iTop = parseInt((screen.height-wHeight)/2);
		var iLeft = parseInt((screen.width-wWidth)/2);
		
		sFeatures="toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=no,width="+wWidth+",height="+wHeight + ",left=" + iLeft + ",top=" + iTop;
		window.open(url,winName,sFeatures);
	},
	
	getRandAlphabetChar: function(){
		var aIndex = Math.round(Math.random()*25);
		var alphabet = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
	
		return alphabet[aIndex];
	},
	
	getRandomString: function() {
		var now = new Date();   
		var iRandNum1 = Math.round(Math.random()*10);
		var iRandNum2 = Math.round(Math.random()*100);
		var iRandNum3 = now.getTime();
		var sRandString = iRandNum1 + this.getRandAlphabetChar() + iRandNum3 + this.getRandAlphabetChar() + iRandNum2 + this.getRandAlphabetChar() + iRandNum1 + this.getRandAlphabetChar() + iRandNum2;
	
		return sRandString;
	},
	
	isExist: function(obj){
		return(typeof(obj)=="undefined")?false:true;
	},
	
	printPage: function(divPrintReadyArea){
		var disp_setting="statusbar=yes,resizable=yes,menubar=yes,scrollbars=yes,width=640, height=450,left=240, top=260"; 
		try{
			if (document.getElementById != null){
				var html = '<HTML>\n<HEAD>\n';
				
				if (document.getElementsByTagName != null){
					var headTags = document.getElementsByTagName("head");
					if (headTags.length > 0)
						html += headTags[0].innerHTML;
				}
			
				html += '<script>';
				html += 'function disableMouseClick() {\n if (event.button ==1 || event.button == 2) {\n SIPL.Util.alertMsg("Click' + ' not allowable!")\n return false;\n}\n}';	
				html += 'document.onmouseup= disableMouseClick';
				html += '</script>';
				
				html += '\n</HE' + 'AD>\n<BODY>\n';
				
				var printReadyElem = SIPL.Element.getEl(divPrintReadyArea);
				
				if (printReadyElem != null){
						html += printReadyElem.innerHTML;
				}else{
					fnPrintMsg(PRINT_READY_SECTION_NOT_FOUND);
					return;
				}
					
				html += '\n</BO' + 'DY>\n</HT' + 'ML>';
				
				var printWin = window.open("","printSpecial",disp_setting);
				printWin.document.open();
				printWin.document.write(html);
				printWin.document.close();				
				printWin.print();
			}else{
				SIPL.Util.alertMsg(PRINT_READY_SECTION_NOT_FOUND);
			}
		}catch(e){}
	},
	
	decodeWordDocText: function(pValue,oCtrl){
		var sDescription = pValue;		
		if(sDescription.indexOf("%u201C")!=-1){
			sDescription = this.replaceCharacters(sDescription, '%u201C','%22');
		}
		if(sDescription.indexOf("%u201D")!=-1){
			sDescription = this.replaceCharacters(sDescription, '%u201D','%22');
		}
		if(sDescription.indexOf("%u2018")!=-1){
			sDescription = this.replaceCharacters(sDescription, '%u2018','%27');
		}
		if(sDescription.indexOf("%u2019")!=-1){
			sDescription = this.replaceCharacters(sDescription, '%u2019','%27');
		}
		oCtrl.value=unescape(sDescription);
	},
	
	decodeBatchWordDocText: function(arrPValue,arrObjControl){
		if(arrObjControl.length==arrPValue.length && arrObjControl.length>0){
			for(var i=0;i<arrObjControl.length;i++){
				this.decodeWordDocText(arrPValue[i],arrObjControl[i]);
			}
		}
	},
	
	setTBTitle: function(title){
		try{
			window.top.$("#TB_ajaxWindowTitle").html(title);
		}catch(e){}
	}
};

SIPL.Numeric ={
	formatNumber: function(num,prefix){
		//Usage : var test1 = formatNumber('5123456789.25'); // returns 5,123,456,789.25
		//var test2 = formatNumber(1234.15,'$');     // returns $1,234.15
		prefix = prefix || '';
		num += '';
		var splitStr = num.split('.');
		var splitLeft = splitStr[0];
		var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '';
		var regx = /(\d+)(\d{3})/;
		while (regx.test(splitLeft)) {
		  splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
		}
		return prefix + splitLeft + splitRight;
	},
	
	unformatNumber: function(num){
		// Usage var test3 = unformatNumber('$1,234.15');   // returns 1234.15
		return num.replace(/([^0-9\.\-])/g,'')*1;
	},
	
	filterCurrency: function(pValue){ // Removes $ and , from the provided value
		currency = /^\$|\,/g;
		return iValue.toString().replace(currency,'');	
	},
	
	filterPercentage: function(pValue){ // Removes % and , from the provided value
		percentage = /\,|\%$/g;
		return iValue.toString().replace(percentage,'');
	},
	
	truncateFloat: function(pValue,decimal_places) { //This function truncates the float number upto the given decimal places.		
		// eg 999.765 : SIPL.Util.truncateFloat(999.765,2) will give result : 999.76
		var fNum1 = parseFloat(pValue) * Math.pow(10, decimal_places);
		var iNum2 = parseInt(fNum1);
		var fNum3 = iNum2 / Math.pow(10, decimal_places);
		return this.padZeros(fNum3, decimal_places);
	},
	
	roundFloat: function(pValue,decimal_places) { //This function rounds the float number upto the given decimal places.		
		// eg 999.765 : SIPL.Util.roundFloat(999.765,2) will give result : 999.77
		var fNum1 = parseFloat(pValue) * Math.pow(10, decimal_places);
		var iNum2 = Math.round(fNum1);
		var fNum3 = iNum2 / Math.pow(10, decimal_places);
		return this.padZeros(fNum3, decimal_places);
	},
	
	padZeros: function(rounded_value, decimal_places) { //This Function Pads the Zeroes in the Decimal number upto given decimal places.	
		var value_string = rounded_value.toString();
		var decimal_location = value_string.indexOf(".");
	
		// Is there a decimal point?
		if (decimal_location == -1) {
			// If no, then all decimal places will be padded with 0s
			decimal_part_length = 0;
			// If decimal_places is greater than zero, tack on a decimal point
			value_string += decimal_places > 0 ? "." : "";
		}else{
			// If yes, then only the extra decimal places will be padded with 0s
			decimal_part_length = value_string.length - decimal_location - 1;
		}
	
		// Calculate the number of decimal places that need to be padded with 0s
		var pad_total = decimal_places - decimal_part_length;
		
		if (pad_total > 0) {
			// Pad the string with 0s
			for (var counter = 1; counter <= pad_total; counter++) 
				value_string += "0";
		}
		return value_string;
	},
	
	toInteger: function(dt){
		var vl;
		if(!dt) return 0;
		if(isNaN(dt)) vl=parseInt((dt+'').replace(/\,/g,''));
		else vl= parseInt(dt);
		if (isNaN(vl)) vl = 0;
		return vl;
	},
	
	toFloat: function(dt){
		var vl;
		if(!dt) return 0;
		if(isNaN(dt)) vl=parseFloat((dt+'').replace(/\,/g,''));
		else vl = parseFloat(dt);
		if (isNaN(vl)) vl = 0;
		return vl;
	}
};

SIPL.Dates = {
	format: 'mm-dd-yyyy',
	getDtDiffInDays: function(dateFrom, dateTo){ //Function accept 2 dates and returns the difference of them in number of days	
		var dtFrom = new Date();
		var dtTo = new Date();
		var dtDiff  = new Date();
			
		dtFromTemp = new Date(dateFrom);
		dtFrom.setTime(dtFromTemp.getTime());
		
		dtToTemp = new Date(dateTo);
		dtTo.setTime(dtToTemp.getTime());
		
		// sets difference date to difference of first date and second date	
		dtDiff.setTime(Math.abs(dtFrom.getTime() - dtTo.getTime()));	
		var dtTimediff = dtDiff.getTime();
		
		var iNumWeeks = Math.floor(dtTimediff / (1000 * 60 * 60 * 24 * 7));
		dtTimediff -= iNumWeeks * (1000 * 60 * 60 * 24 * 7);	
		iNumWeeks = iNumWeeks*7;
		
		var iNumDays = Math.floor(dtTimediff / (1000 * 60 * 60 * 24)); 
		dtTimediff -= iNumDays * (1000 * 60 * 60 * 24);	
		iNumDays = parseInt(iNumWeeks) + parseInt(iNumDays);
		
		return parseInt(iNumDays);
	},
	
	dateAdd: function(interval,n,dt){
		if(!interval||!n||!dt) return;	
		var s=1,m=1,h=1,dd=1,i=interval;
		if(i=='month'||i=='year'){
			dt=new Date(dt);
			if(i=='month') dt.setMonth(dt.getMonth()+n);
			if(i=='year') dt.setFullYear(dt.getFullYear()+n);		
		}else if (i=='second'||i=='minute'||i=='hour'||i=='day'){
			dt=Date.parse(dt);
			if(isNaN(dt)) return;
			if(i=='second') s=n;
			if(i=='minute'){s=60;m=n}
			if(i=='hour'){s=60;m=60;h=n};
			if(i=='day'){s=60;m=60;h=24;dd=n};
			dt+=((((1000*s)*m)*h)*dd);
			dt=new Date(dt);
		}
		return dt;
	},
	
	formatDate: function(date,format){
		if(!date) return '';
		var dt=new Date(date);
		var mm=dt.getMonth();
		var dd=dt.getDate();
		var day=dt.getDay();
		var yyyy=dt.getFullYear();
		var hh=dt.getHours();
		var nn=dt.getMinutes();
		var ss=dt.getSeconds();
		var ampm;
	
		var days=['Sunday','Monday','Teusday','Wednesday','Thursday','Friday','Saturday'];
		var months=['January','February','March','April','May','June','July','August','September','October','November','December'];
	
		format=(format)? (format+'').toLowerCase():'dddd, mmmm dd, yyyy hh:nn:ss ampm';
		format=format.replace('mmmm',months[mm]);
		format=format.replace('mmm',months[mm].substr(0,3));
		format=format.replace('mm',mm+1);
		format=format.replace('dddd',days[day]);
		format=format.replace('ddd',days[day].substr(0,3));
		format=format.replace('dd',dd);
		format=format.replace('yyyy',yyyy);
		if(format.indexOf('ampm')>0){
			if(hh>12) hh=hh-12;
			if(hh<12) ampm='AM';
			else ampm='PM';
			format=format.replace('ampm',ampm);
		}
		format=format.replace('hh',hh);
		format=format.replace('nn',nn);
		format=format.replace('ss',ss);
	
		return format;
	},
	
	getDayOfYear: function(dt){
		dt = new Date(dt);
		if(isNaN(dt)) dt = new Date();
		var yr = new Date(dt.getFullYear(),0,1);
		yr = yr.getTime() - (yr.getDay()-1)*(24*60*60*1000);
		return(Math.ceil((dt.getTime() - yr)/(24*60*60*1000)));
	}
};
/*
 ****************************************** ALLOWED FUNCTIONS STARTS **********************************************************
*/

SIPL.Allow ={
		onlyFloat: function(pValue){
		var isDecimalExist=false;
		if(event.shiftKey || event.altKey) return false;
	
		if (pValue.indexOf(".")!=-1){
			isDecimalExist=true;
		}
		if ((event.keyCode >=48  && event.keyCode <=57) || (event.keyCode >=96  && event.keyCode <=105) || (event.keyCode >=35  && event.keyCode <=37) || event.keyCode ==8 || event.keyCode ==39 || event.keyCode ==46 || event.keyCode ==9  || event.keyCode ==190 || event.keyCode ==110){
			if(isDecimalExist && (event.keyCode ==190 || event.keyCode ==110)){
				return false;
			}else{
				return true;
			}
		}else{
			return false;
		}
	},
	
	onlySignedFloat: function(pValue){
		var isDecimalExist=false;
		if(event.ctrlKey || event.altKey) return false;

		if (pValue.indexOf(".")!=-1){
			isDecimalExist=true;
		}
		if ((event.keyCode >=48  && event.keyCode <=57) || (event.keyCode >=96  && event.keyCode <=105) || (event.keyCode >=35  && event.keyCode <=37) || event.keyCode ==8 || event.keyCode ==39 || event.keyCode ==46 || event.keyCode ==9  || event.keyCode ==190 || event.keyCode ==110 || event.keyCode ==189  || event.keyCode ==109 || event.keyCode ==188){
			if(isDecimalExist && (event.keyCode ==190 || event.keyCode ==110)){
				return false;
			}else{
				return true;
			}
		}else{
			return false;
		}
	},
	
	onlyInteger: function(pValue){
		if(event.shiftKey || event.ctrlKey || event.altKey) return false;	
		if ((event.keyCode >=48  && event.keyCode <=57) || (event.keyCode >=96  && event.keyCode <=105) || (event.keyCode >=35  && event.keyCode <=37) || event.keyCode ==8 || event.keyCode ==39 || event.keyCode ==46 || event.keyCode ==9){
			return true
		}else{
			return false
		}
	},
	
	onlyCurrency: function(pValue){
		var isDecimalExist=false; 
		if(event.ctrlKey || event.altKey) return false;
	
		if (pValue.indexOf(".")!=-1){
			isDecimalExist=true;
		}
		if ((event.keyCode >=48  && event.keyCode <=57) || (event.keyCode >=96  && event.keyCode <=105) || (event.keyCode >=35  && event.keyCode <=37) || event.keyCode ==8 || event.keyCode ==39 || event.keyCode ==46 || event.keyCode ==9  || event.keyCode ==190 || event.keyCode ==110 || event.keyCode ==188){
			if(isDecimalExist && (event.keyCode ==190 || event.keyCode ==110)){
				return false;
			}else{
				return true;
			}
		}else{
			return false;
		}
	},
	
	onlyDate: function(pValue){
		if(event.shiftKey || event.ctrlKey || event.altKey) return false;	
		if ((event.keyCode >=48  && event.keyCode <=57) || (event.keyCode >=96  && event.keyCode <=105) || (event.keyCode >=35  && event.keyCode <=37) || event.keyCode ==8 || event.keyCode ==39 || event.keyCode ==46 || event.keyCode ==9 || event.keyCode ==191 || event.keyCode ==111){
			return true
		}else{
			return false
		}
	}
};

/*
 ****************************************** VALIDATIONS FUNCTIONS STARTS **********************************************************
*/

SIPL.Validate = {
	isEmpty: function(str){
		if(str == undefined) return false;
		var str=str.trim();				
		if (!(str == null || str.length==0)) return false;		
		return true;
	},
	
	isNumericEmpty: function(val){
		if (!(val == null || val.length==0))return false;
		return true	
	},
	
	isWhiteSpaces: function(str){
		if (str.indexOf(" ")!=-1) return true;
		return false;
	},
	
	textAreaLength: function(str,len,label){
		if (str.trim() != ""){
			var strlen = str.length;
			var st = (strlen > (len - 0))?fnGetMessage(MSG.MAXLENGTH, label , len):"";
			return st;
		}else{
			return (fnGetMessage(MSG.BLANK, label));
		}
	},
	
	isValidEmail: function(val){
		var lblnSuccess=false;
		var lstrTemp='';
		var lintCount=0;
		var lintDot=0;		
		var lintPos=0;
		lstrTemp=val.trim();
		
		var len = lstrTemp.length;
		//Check for @ and '.' in the E-mail string, 
		for (lintIndex = 0; lintIndex < len; lintIndex++){
			var char1 = lstrTemp.charAt(lintIndex);
			
			if ((char1 >= '0' && char1 <= '9') || (char1 == "@" || char1 == "." || char1 == "_" || char1 == "-") || (char1 >= "a" && char1 <= "z") || (char1 >= "A" && char1 <= "Z")) {
				if (char1=='@'){	
					  lintPos=lintIndex;			  
					  ++lintCount;
				}
				if (char1=='.'){			      
					++lintDot;
				}
			}else{			
				return false;
			}		
		}	
	
		//Character @ should not be more than once		
		if (lintCount==1){		    
			if (lstrTemp.charAt(0)!='@' && lstrTemp.charAt(len-1)!='@'){
				//After @, '.' should not come 
				if (lstrTemp.charAt(lintPos+1)=='.')
				   return lblnSuccess;
	
				//Character '.' should be present in the E-mail	
				if (lintDot >= 1){
					if (lstrTemp.charAt(0)!='.' && lstrTemp.charAt(len-1)!='.')		
						lblnSuccess=true;						
				}				
			}
		}
		return lblnSuccess;
	},
	
	isDigit: function(val){
		var counter=0;  			
		//removing the leading and trialing spaces
		val = val.trim();
		
		var len = 	val.length;
		for (counter=0;counter < len; counter++){
			var char1 = val.charAt(counter);
			if (char1 < "0" || char1 > "9")
				return false;
		}
		return true;
	},
	
	isNumeric: function(val){
		var re = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
		var st = (!val.match(re))?false:true;
		return st;
	},
	
	isInteger: function(val){
		if(typeof(val)=='number' && (val+'').indexOf('.')<0){
			var re = /(^-?\d\d*$)/;
			var st = (!val.match(re))?false:true;
			return st;
		}else{
			return false;
		}
	},
	
	isFloat: function(oVal, totLength, decLength){
		if(SIPL.Validate.isNumericEmpty(oVal)) return false;
		
		if(SIPL.Validate.isWhiteSpaces(oVal)){
			return false;
		}else{					
			var ctr = 0;
			var seenDecimal = false;
		
			if(oVal.indexOf(" ")!=-1){
				return false;
			}
			//removing the leading and trailing spaces
			oVal = oVal.trim();
			//To check if only decimal entered
			if(oVal=="."){
				return false;
			}
			if(oVal<0){
				return true;
			}
			
			var len = oVal.length;
			for(ctr=0; ctr<len; ctr++){
				var c = oVal.charAt(ctr);
				if(c == "." && !seenDecimal)
					seenDecimal = true;
			   else if(!this.isDigit(c))
					return false;
			 }
			if (arguments.length <= 1){
				return true;
			}
			var isPartsValid = this.checkFloatParts(oVal, totLength, decLength);
			return isPartsValid;
		}
	},
	
	isSignedFloat: function(oVal, totLength, decLength) {
		oVal = oVal.trim();
		var startPos = 0;
		if ( (oVal.charAt(0) == "-" || oVal.charAt(0) == "+") && !(oVal.length==1 && (oVal=='-' || oVal=='+'))){
		  startPos = 1;  
		}
		return (this.isFloat(oVal.substring(startPos, oVal.length), totLength, decLength));
	},
	
	checkFloatParts: function(oVal, decLength){
		var parts = oVal.split(".");
		//alert(parts.length);
		//var intLength = totLength - decLength;
		if(parts.length==1){
				return false;
			}
		if(!this.isDigit(oVal)){
			//implies that the input value is float
			/*if(parts[0].length > intLength){
				 return false;
			}*/
			if (decLength != 0){
				if(parts[1].length < decLength){
					return false;
				}
			}
		}/*else{
			//implies that the input value is integer 
			if(oVal.length > intLength)
				return false;
		}*/
		return true;
	},
	
	isDate: function(dt,format){
		format = SIPL.Dates.format;
		if (!dt) return false;
		var dd,mm,yyyy;
		var isLeapYear,st=true,delim='-';
		dt+='';format=(format)? format+'':'';
		if(dt.indexOf('/')>=0) delim='-';
		else if(dt.indexOf('-')>=0) delim='-';
		else if(dt.indexOf(' ')>=0) delim=' ';
		dt=dt.split(delim);
		if(format) format=format.replace(/\W/g,'-');
		else {
			if (dt[0]>=1000) format='yyyy-mm-dd';
			else if (dt[0]>=12 && dt[1]<=12) format='dd-mm-yyyy';
			else if (dt[0]<=12 && dt[1]>=12) format='mm-dd-yyyy';
		};
		
		if(format=='yyyy-mm-dd'){yyyy=dt[0];mm=dt[1];dd=dt[2];}
		else if(format=='mm-dd-yyyy'){ mm=dt[0];dd=dt[1];yyyy=dt[2];}
		else if(format=='dd-mm-yyyy'){dd=dt[0];mm=dt[1];yyyy=dt[2];}
		if(isNaN(dd)||isNaN(mm)||isNaN(yyyy)) st=false;
		else if(dd<1 || dd>31) st=false;
		else if(yyyy>9999 || yyyy.length <4) st=false;
		else if (mm < 1 || mm > 12) st=false;
		else if((mm==4 || mm==6 || mm==9 || mm==11) && dd==31) st=false;
		else if(mm==2) { // check for leap year and february 29th
			isLeapYear = (yyyy % 4 == 0 && (yyyy % 100 != 0 || yyyy % 400 == 0));
			if (dd > 29 || (dd==29 && !isLeapYear)) st=false;
		}
		return st;
	},
	
	isDtLessThanTodaysDt: function(dt){
		dt = SIPL.Util.replaceCharacters(dt,'-','/');
		var oDate = new Date(dt.trim());
		var dtToday =   new Date();
		if (oDate != "" && dtToday != "") {
			var st = (oDate < dtToday)?true:false;
			return st;
		}
		return false;
	},
	
	isDtGreaterThanTodaysDt: function(dt){
		dt = SIPL.Util.replaceCharacters(dt,'-','/');
		var oDate = new Date(dt.trim());
		var dtToday =   new Date();
		if (oDate != "" && dtToday != "") {
			var st = (oDate > dtToday)?true:false;
			return st;
		}
		return false;
	},
	
	isToDtGreaterThanFromDt: function(fromDt,toDt){
		fromDt = SIPL.Util.replaceCharacters(fromDt,'-','/');
		toDt = SIPL.Util.replaceCharacters(toDt,'-','/');
		var dtFrom = new Date(fromDt.trim());
		var dtTo =   new Date(toDt.trim());
		if (dtFrom != "" && dtTo != "") {
			var st = (dtTo >= dtFrom)?true:false;
			return st;
		}
		return false;
	},
	
	isDateEqual: function(fromDt,toDt){
		fromDt = SIPL.Util.replaceCharacters(fromDt,'-','/');
		toDt = SIPL.Util.replaceCharacters(toDt,'-','/');
		var dtFrom = new Date(fromDt.trim());
		var dtTo =   new Date(toDt.trim());
		if (dtFrom != "" && dtTo != "") {
			var st = (dtTo == dtFrom)?true:false;
			return st;
		}
		return false;
	},
	
	isAlphabetic: function(str){
		var re=new RegExp("[0-9]");
		var st = (!re.test(str))?true:false;
		return st;
	},
	
	batchNull: function(sNameArray,sValueArray){
		var sErrs='';		
		for(var i=0;i<sNameArray.length;i++){		
			if(this.isEmpty(sValueArray[i])){
				//sErrs = sErrs +MSG.VALUE_OF + " \'" +sNameArray[i] + "\' " + MSG.NULL + "\n";
				sErrs = sErrs + " \'" +sNameArray[i] + "\' " + MSG.NULL + "\n";
			}	
		}
		return sErrs;
	},
	
	batchEmail: function(sNameArray,sValueArray){
		var sErrs='';		
		for(var i=0;i<sNameArray.length;i++){		
			if(this.isValidEmail(sValueArray[i])){
				sErrs = sErrs +MSG.VALUE_OF + " \'" +sNameArray[i] + "\' " + MSG.NULL + "\n";
			}
		}
		return sErrs;
	},
	
	batchNumeric: function(sNameArray,sValueArray){
		var sErrs='';		
		for(var i=0;i<sNameArray.length;i++){		
			if(this.isDigit(sValueArray[i])){
				sErrs = sErrs +MSG.VALUE_OF + " \'" +sNameArray[i] + "\' " + MSG.NULL + "\n";
			}	
		}
		return sErrs;
	},
	
	batchDate: function(sNameArray,sValueArray){
		var sErrs='';		
		for(var i=0;i<sNameArray.length;i++){		
			if(this.isValidDate(sValueArray[i])){
				sErrs = sErrs +MSG.VALUE_OF + " \'" +sNameArray[i] + "\' " + MSG.NULL + "\n";
			}	
		}
		return sErrs;
	},
	
	isValidFileName: function(fileName){
		for (var i=0;i<INVALID_FILENAME_CHARS.length;i++){
			if(fileName.indexOf(INVALID_FILENAME_CHARS[i])!= -1){
				return false;
			}		
		}
		return true;
	},
	
	isValidExt: function(ext){
		for (var i=0;i<VALID_FILE_EXT.length;i++){
			if(VALID_FILE_EXT[i] == ext){
				return false;
			}		
		}
		return true;
	}	
};

/*
 ****************************************** FORM FUNCTIONS STARTS *****************************************
*/

SIPL.Form = {
	submit: function(frm,target,action){
		frm.target=target;
		frm.action=action;
		frm.submit();
	}
};

/*
 ****************************************** FORM CONTROLS FUNCTIONS STARTS *****************************************
*/

SIPL.FormControls = {
	setFocus: function(oFieldName){
		// SIPL.FormControls.setFocus(document.formname.filedname)
		try{
			oFieldName.focus();
		}catch(e){}
	},
	
	Checkbox: {
		toggle: function(container,status){ // Used in jQGrid....Dont delete
			try{
				var oChk = $(container+" :checkbox");
				var chkLen = oChk.length;
				//$("#cue_grid :checkbox")[0].value
				if(chkLen>0){
					for(var i=0;i<chkLen;i++){
						oChk[i].checked=status;
					}
				}
			}catch(e){}
		}
	},
	
	File: {
		getFileExt: function(fileName){
			var fileExt = "";
			var index = parseInt(fileName.lastIndexOf("."));	
			if(index != -1){
				fileExt = fileName.substring(index+1,fileName.length);
			}
			return fileExt;
		}
	}
};

SIPL.SEEIMGREEN={
	OpenBb: function(title,actionUrl,height,width){
		return GB_showCenter(title,BASE_PATH+actionUrl,height,width);
	},
	
	showHide:function(id){
			$("#"+id).show('slow');
			
	}
};
SIPL.DG ={
	deleteSelectedAction: "",
	restoreTrashAction: "",
	emptyTrashAction: "",
	singleTrashAction : "",
	gridId: "#cue_grid",
	gridPager: "#cue_pager",
	XHR_Status:"",
	actInActAction: "",		///wasim
	appDisAppAction: "",		///atul
	loadURL: "",
	isTrashClicked:0,
	secNavId:"",
	addRecord:"",
	gridURL:"",

	getTBParams: function(){
		var a = arguments;
		var w=(a[0]=="")?500:a[0];
		var h=(a[1]=="")?500:a[1];
		return "/keepThis/false&amp;TB_iframe/true&amp;height/"+h+"&amp;width/"+w;
	},
	postform: function(frmdata,frmaction){
		if(frmdata!=''){
			$.ajax({
					type: "POST",
					url: BASE_PATH + frmaction,
					data: frmdata,
					dataType: "xml",
					complete: function(data,status){
						SIPL.DG.XHR_Status=status;
						retResponse=data.responseText;
						if(retResponse==true){
							SIPL.DG.reloadGrid('');
						}else{
							alert(data.responseText);
						}
					}
				});	
		}
	},
	
	changeAppDisp: function(ids,appDis,urlAction){
		if(SIPL.Debug.updateConfirm()){
			$.ajax({
				type: "POST",
				url: BASE_PATH + urlAction,
				data: "chkMultipleupdate="+ ids +"&status="+appDis,
				dataType: "xml",
				complete: function(data,status){
					SIPL.DG.XHR_Status=status;
					retResponse=data.responseText;
					if(retResponse==true){
						var ope = (appDis==1)?OP.DISAPPROVED:OP.APPROVED;
						SIPL.DG.reloadGrid(ope);
					}else{
						alert(data.responseText);
					}
				}
			});			
		}
	},
	
	changeFtrNotftr: function(ids,ftrNotftr,urlAction){
		if(SIPL.Debug.updateConfirm()){
			$.ajax({
				type: "POST",
				url: BASE_PATH + urlAction,
				data: "chkMultipleupdate="+ ids +"&status="+ftrNotftr,
				dataType: "xml",
				complete: function(data,status){
					SIPL.DG.XHR_Status=status;
					var ope = (ftrNotftr==1)?OP.NOTFEATURED:OP.FEATURED;
					SIPL.DG.reloadGrid(ope);
				}
			});			
		}
	},
	
	redirect: function(id){
		location.href=BASE_PATH + SIPL.DG.loadURL + id;
	},
	
	singleRestoreTrash: function(id){
		if(SIPL.DG.gridId == "" || SIPL.DG.gridId == null) {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_PARAMETERS); return; };
		if(SIPL.DG.restoreTrashAction== "") {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_ACTION); return; };
		var ids = id;
		if(id == "" || id == null) {SIPL.Debug.printStatusMsg(StatusMsg.SELECTION_CONFIRMATION); return; };
		SIPL.DG.trashrRestorePost(id);
	},
	
	trashrRestorePost: function (ids){
		if(SIPL.Debug.restoreConfirm()){
			$.ajax({
				type: "POST",
				url: BASE_PATH + SIPL.DG.restoreTrashAction,
				data: "chkMultipleupdate="+ids,
				dataType: "xml",
				complete: function(data,status){
					SIPL.DG.XHR_Status=status;
					retResponse=data.responseText;
					if(retResponse==true){
						SIPL.DG.reloadGrid(OP.RESTORED);
					}else{
						alert(data.responseText);
					}
				}
			});			
		}
	},
	
	restoreTrash: function(){
		if(SIPL.DG.gridId == "" || SIPL.DG.gridId == null) {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_PARAMETERS); return; };
		if(SIPL.DG.restoreTrashAction== "") {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_ACTION); return; };
		var ids = $(SIPL.DG.gridId+' :checkbox').fieldValue();
		if(ids == "" || ids == null) {SIPL.Debug.printStatusMsg(StatusMsg.SELECTION_CONFIRMATION); return; };
		SIPL.DG.trashrRestorePost(ids);
	},
	
	emptyTrash: function(){
		var a=arguments;
		if(a.length>0){
			ids=a[0];
		}else{
			if(SIPL.DG.gridId == "" || SIPL.DG.gridId == null) {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_PARAMETERS); return; };
			if(SIPL.DG.emptyTrashAction == "") {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_ACTION); return; };
			var ids = $(SIPL.DG.gridId+' :checkbox').fieldValue();
		}
		if(ids == "" || ids == null) {SIPL.Debug.printStatusMsg(StatusMsg.SELECTION_CONFIRMATION); return; };
		if(SIPL.Debug.deleteConfirm()){
			$.ajax({
				type: "POST",
				url: BASE_PATH + SIPL.DG.emptyTrashAction,
				data: "chkMultipleDelete="+ids,
				dataType: "xml",
				complete: function(data,status){
					SIPL.DG.XHR_Status=status;
					retResponse=data.responseText;
					if(retResponse==true){
						SIPL.DG.reloadGrid(OP.DELETE);
					}else{
						alert(data.responseText);
					}
				}
			});			
		}
	},
	deleteMultipleRow: function(){
		var a=arguments;
		if(a.length>0){
			ids=a[0];
		}else{
		  if(SIPL.DG.gridId == "" || SIPL.DG.gridId == null) {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_PARAMETERS); return; };
		  if(SIPL.DG.deleteSelectedAction == "") {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_ACTION); return; };
			var ids = $(SIPL.DG.gridId+' :checkbox').fieldValue();
		}
			if(ids == "" || ids == null) {SIPL.Debug.printStatusMsg(StatusMsg.SELECTION_CONFIRMATION); return; };
		if(SIPL.Debug.deleteConfirm()){
			$.ajax({
				type: "POST",
				url: BASE_PATH + SIPL.DG.deleteSelectedAction,
				data: "chkMultipleDelete="+ids,
				dataType: "xml",
				complete: function(data,status){
					SIPL.DG.XHR_Status=status;
					retResponse=data.responseText;
					if(retResponse==true){
//						alert(retResponse);
						SIPL.DG.reloadGrid(OP.DELETE);
					}else{
						alert(data.responseText);
					}
				}
			});			
		}
	},
	
	reloadGrid: function(op){
		$(SIPL.DG.gridId).flexReload();// Reloading Grid	
		// Setting Status message		
		if (OP.ADD == op)
			SIPL.Debug.printStatusMsg(StatusMsg.REC_ADDEDD);
		else if (OP.EDIT == op)
			SIPL.Debug.printStatusMsg(StatusMsg.REC_MODIFIED);
		else if (OP.DELETE == op)
			SIPL.Debug.printStatusMsg(StatusMsg.REC_DELETED);
		else if (OP.ACTIVE== op)		
			SIPL.Debug.printStatusMsg(StatusMsg.REC_ACTIVATED);
		else if (OP.DEACTIVE== op)		
			SIPL.Debug.printStatusMsg(StatusMsg.REC_DEACTIVATED);
		else if (OP.APPROVED== op)		
			SIPL.Debug.printStatusMsg(StatusMsg.REC_APPROVED);
		else if (OP.DISAPPROVED== op)		
			SIPL.Debug.printStatusMsg(StatusMsg.REC_DISAPPROVED);
		else if (OP.RESTORED== op)		
			SIPL.Debug.printStatusMsg(StatusMsg.REC_RESTORED);
	},
	
	resetGrid: function(url){
		//cGrid.url=BASE_PATH+url;
		cGrid.setUrl(BASE_PATH+url)
//		cGrid.setPage(1);
		SIPL.DG.XHR_Status=XHRState.SUCCESS;
		SIPL.DG.reloadGrid('');
	},
	
	updateDG: function(status,op){
		var a = arguments;
		if(a.length == 3 && a[2]==1){
			cGrid.setUrl(BASE_PATH+SIPL.DG.gridURL);
		}
		SIPL.DG.XHR_Status=status;		
		if(XHRState.SUCCESS == status){								
			SIPL.DG.reloadGrid(op);	
		}else if(XHRState.ERROR == status){
			SIPL.Debug.printStatusMsg(StatusMsg.ERROR);
		}
		SIPL.DG.TBRemove();
	},
	
	TBRemove: function(){
		try{
			GB_hide();
		}catch(e){window.top.GB_hide();}
	},
	
	showAllRec: function (){
		if($("#StatusMsg"))	$("#StatusMsg").hide();
		$("#btnPanelOp").show();
		$("#btnPanelEmtTrash").hide();
		$("#frmFilter").show();
		$("#alphabetSchPanel").show();	
		SIPL.DG.resetGrid(oShCri.oAction);		
	},

	search: function (oSC){
		var fldValue = $("#"+oSC.oSearchFld).val();	
		if (SIPL.Validate.isEmpty(fldValue)){
			SIPL.Debug.printStatusMsg(MSG.SEARCH_CRITERIA_EMPTY);
			return false;
		}else{
			SIPL.DG.resetGrid(oSC.oAction+"/q/"+fldValue);	
			SIPL.Debug.printStatusMsg(fnGetMessage(StatusMsg.SEARCH_RESULT,fldValue));
		}
	},
	
	searchByFilter: function (oSC/*action,fld,filterFld*/){
		var fldvalue = $("#"+oSC.oSearchFld).val();
		var filterValue=$("#"+oSC.filterFld).val();
		if (SIPL.Validate.isEmpty(fldvalue) && SIPL.Validate.isEmpty(filterValue)){
			SIPL.Debug.printStatusMsg(MSG.SEARCH_CRITERIA_EMPTY);
			return false;
		}else{
			if(SIPL.Validate.isEmpty(fldvalue)) fldvalue=null;
			SIPL.DG.resetGrid(oSC.oAction+"/q/"+fldvalue+"/actinact/"+filterValue);
			if(fldvalue!=null)
				SIPL.Debug.printStatusMsg(fnGetMessage(StatusMsg.SEARCH_RESULT,fldvalue));
		}
	},
	
	getMultiFilterData: function(){
		var data = $("#frmFilter").formSerialize();
		data = SIPL.Util.replaceCharacters(data,'&','/');
		data=(SIPL.Util.replaceCharacters(data,'=','/'));
		data=(SIPL.Util.replaceCharacters(data,'//','/null/'));
		return data;		
	},
	
	searchByMultipleFilter:function(oMF){
		var params = SIPL.DG.getMultiFilterData();
		var secNavId=$("#secId").val();
		if(secNavId==null || secNavId=="" || secNavId=="null"){
			var url=oMF.oAction+"/"+params;
		}else{
			var url=oMF.oAction + "/" +$("#secId").val()+"/"+params;
		}
		SIPL.DG.resetGrid(url);
 	},
	
	searchByAlphabet: function(oMF,alpha){
		$("#StatusMsg").hide();
		$("#q").val(alpha);
		var d = SIPL.DG.getMultiFilterData();
		SIPL.DG.resetGrid(oMF.oAlphaSchAct + "/" +$("#secId").val()+"/"+d);
	},
	
	showTrash: function (){
		if($("#StatusMsg"))	$("#StatusMsg").hide();
		$("#btnPanelOp").hide();
		$("#btnPanelEmtTrash").css("display","inline");	
		$("#frmFilter").hide();	
		$("#alphabetSchPanel").hide();	
		SIPL.DG.resetGrid(oTSHCri.oAction);
	},
	showExpire: function (){
		if($("#StatusMsg"))	$("#StatusMsg").hide();
		$("#btnPanelOp").hide();
		$("#btnPanelEmtTrash").hide();	
		$("#frmFilter").hide();	
		$("#alphabetSchPanel").hide();	
		SIPL.DG.resetGrid(oEXPCri.oAction);
	},
	
	toggleSelActInact: function(actInact){
		var ids;
		var a=arguments;
		if(a.length==2){
			ids=a[0];
			actInact=!a[1];
		}else if(a.length==1){
			if(SIPL.DG.gridId == "" || SIPL.DG.gridId == null) {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_PARAMETERS); return; };
			ids = $(SIPL.DG.gridId+' :checkbox').fieldValue();
		}
			if(SIPL.DG.actInActAction == "") {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_ACTION); return; };
			if(ids == "" || ids == null) {SIPL.Debug.printStatusMsg(StatusMsg.SELECTION_CONFIRMATION); return; };
			if(SIPL.Debug.updateConfirm()){
				$.ajax({
					type: "POST",
					url: BASE_PATH + SIPL.DG.actInActAction,
					data: "chkMultipleupdate="+ids +"&status="+actInact,
					dataType: "xml",
					complete: function(data,status){
						SIPL.DG.XHR_Status=status;
						retResponse=data.responseText;
						if(retResponse==true){
							var ope = (actInact==1 || actInact == "1")?OP.ACTIVE:OP.DEACTIVE;
							SIPL.DG.reloadGrid(ope);
						}else{
							alert(data.responseText);
						}
					}
				});			
			}
		
	},

	toggleSelAppDispp:function(oAppDisapp,appDisapp){
		if(SIPL.DG.gridId == "" || SIPL.DG.gridId == null) {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_PARAMETERS); return; };
		if(oAppDisapp.oAction == "") {SIPL.Debug.printStatusMsg(StatusMsg.INVALID_ACTION); return; };
		var ids = $(SIPL.DG.gridId+' :checkbox').fieldValue();
		if(ids == "" || ids == null) {SIPL.Debug.printStatusMsg(StatusMsg.SELECTION_CONFIRMATION); return; };
		if(SIPL.Debug.updateConfirm()){
			$.ajax({
				type: "POST",
				url: BASE_PATH + oAppDisapp.oAction,
				
				data: "chkMultipleupdate="+ids +"&status="+appDisapp,
				dataType: "xml",
				complete: function(data,status){
					SIPL.DG.XHR_Status=status;
					retResponse=data.responseText;
					if(retResponse==true){
						var ope = (appDisapp==0)?OP.APPROVED:OP.DISAPPROVED;
						SIPL.DG.reloadGrid(ope);
					}else{
						alert(data.responseText);
					}

				}
			});			
		}
	},
	// function creating for application Fleet Management.
	// Created by Shaikh Wasim.
	editRow:function(editUrl){
		return GB_showCenter(oAddEditGbHW.GbTitle,BASE_PATH+editUrl,oAddEditGbHW.Gbheight,oAddEditGbHW.Gbwidth);
	},
	viewRow:function(editUrl){
		return GB_showCenter(oAddViewGbHW.GbTitle,BASE_PATH+editUrl,oAddViewGbHW.Gbheight,oAddViewGbHW.Gbwidth);
	},
	setfocus:function (){
		SIPL.DG.searchByMultipleFilter(oMultiFilter);
		return false;
	}
}
//Function Created By shaikh Wasim

function cacheImages(){
		var errorImage=new Image();
		var successImage=new Image();
		errorImage.src=BASE_PATH+"images/ico_cross_org.gif";
		successImage.src=BASE_PATH+"images/ico_check_blu.gif";
}
//M =Message
//O= Object (html Element Id)
function setSuccess(o,m){
		$("#"+o).html('');
		$("#"+o).html("<span class=\"success_msg\">"+(m==null?"&nbsp;":m)+"</span>");
		$("#"+o).removeClass("error");
		$("#"+o).addClass("success");
}

function setError(o,m){
		$("#"+o).html('');
		$("#"+o).html("<span class=\"error_msg\">"+(m==null?"&nbsp;":m)+"</span>");
		$("#"+o).removeClass("success");
		$("#"+o).addClass("error");
}

//Desing Virtual tabs
function tabToggel(index){
	var i=1;
	for(i=1;i<=3;i++){
		$("#div_tab_"+i).hide("fast");
		
	}
	$("#div_tab_"+index).show("slow");
	//document.getElementById("img_"+index).src = BASE_PATH+ "images/menu/tab_selected_"+ index + ".png";
	selected_tab(index);
	sidebar_home_tab_selected=index;
}

function  tab_hover(index){
	if(sidebar_home_tab_selected==index) return;
	for(var i=1;i<=3;i++){
	//	document.getElementById("tab_"+i).style.zIndex=0;
	}
	//document.getElementById("tab_"+index).style.zIndex=50;	
	document.getElementById("img_"+index).src = BASE_PATH+ "images/menu/tab_hover_"+ index + ".png";
}
function tab_mouse_out(index){
	if(sidebar_home_tab_selected==index) return;
	document.getElementById("img_"+index).src = BASE_PATH+ "images/menu/tab_unselected_"+ index + ".png";		
	
}
function selected_tab(index){
	for(i=1;i<=3;i++){
		if(i!=index){
			document.getElementById("img_"+i).src = BASE_PATH+ "images/menu/tab_unselected_"+ i + ".png";		
		}else{
			document.getElementById("tab_"+index).style.zIndex=50;
			document.getElementById("img_"+index).src = BASE_PATH+ "images/menu/tab_selected_"+ index + ".png";		
		}
	}
}