/**
 * makes tabs
 * requires SimpleTabs.js and Mootools.js scripts
 */
function makeTabs(tabContainer, tabTitle)
{
	var tabs = new SimpleTabs($(tabContainer),
	{
		entrySelector : tabTitle
	});
	return(tabs);
}

/**
 * date functionalities
 */
function getYear(date)
{
	
	var retYear= '';
	retYear=date.substring(0,4);
	/*for(var i=0;i<4;i++)
	{
		retYear = retYear+date[i];
	}*/
	
	return(retYear);
	
}

function getMonth(date)
{
	var retMonth = '';
	
	var unitsMonth = date.substring(5,6);
	var tensMonth = date.substring(4,5);
	var dateString = 0;
	
	tensMonth = tensMonth.toInt();
	unitsMonth = unitsMonth.toInt();
	
	if(tensMonth.toInt() == 0)
	{
		unitsMonth = unitsMonth.toInt() -1;
		return unitsMonth;
	}
	else
	{
		dateString = ((tensMonth*10)+unitsMonth);
		return dateString-1;
	}
	/*for(var i=5;i<6;i++)
	{
		if(date.substring(i,i+1)==0 || date.substring(i,i+1)=='0')
		{
			
		}else{
			retMonth = retMonth+date.substring(i,i+1);
		}			
	}	
	return (retMonth.toInt()-1);
	* 
	* */
}

function getDay(date)
{
	var retDay = '';
	var unitsDay = date.substring(7,8).toInt();
	var tensDay = date.substring(6,7).toInt();
	
	retDay = tensDay*10;
	retDay = retDay+unitsDay;
	/*for(var i=6;i<8;i++)
	{
		if(i<date.length-1){
			if(date.substring(i,i+1) ==0 ||  date.substring(i,i+1) =='0' )
			{
				
			}else{
				retDay =retDay+date.substring(i,i+1);
			}
		}else{
			if(date.substring(i) ==0 ||  date.substring(i) =='0' )
			{
				
			}else{
				retDay =retDay+date.substring(i);
			}
		}
	}	*/
	return(retDay);
}


/**
 * make rounded
 */
 function makeRounded(el)
 {
 	settings = {
		          tl: { radius: 10 },
		          tr: { radius: 10 },
		          bl: { radius: 10 },
		          br: { radius: 10 },
		          antiAlias: true,
		          autoPad: true
		      }
 	var myBoxObject = new curvyCorners(settings, el);	
 	myBoxObject.applyCornersToAll();
 }


function showMessage(msg,messagedivid){
	if(messagedivid==null || $(messagedivid)==null)
		alert(msg);
	else ($(messagedivid)).setHTML(msg);
}
/*show and hide loader and modal windows*/
	
	
	
/*end of show and hide loader and modal windows*/	


function giveHours(time)
{
	time=time+"";
	var time0=time.substring(0,1)
	var time1=time.substring(1,2)
	var time2=time.substring(2,3)
	var time3=time.substring(3,4)
	var hours=0;
	if(time0!='0')
		hours = time0+""+time1;
	else if(time1!='0')hours=""+time1;
	
	if(hours!=0)hours = hours.toInt();	
	return(hours)
	
}

function giveMinutes(time)
{
	time=time+"";
	var time0=time.substring(0,1)
	var time1=time.substring(1,2)
	var time2=time.substring(2,3)
	var time3=time.substring(3,4)
	var hours = time2+time3;
	return(hours)
}

// Need time like 1030
// HHMM 
function giveHoursInPM(time)
{
	
	var hours = giveHours(time);
	var minutes = giveMinutes(time);
	
	if(hours > 12)
	{
		hours = hours - 12;
		hours = hours.toString();
		hours = hours+":"+minutes+"pm";
	}
	else if(hours == 12)
	{
		hours = hours.toString();
		hours = hours+":"+minutes+"pm";
	}
	else
	{
		hours = hours+":"+minutes+"am"; 
	}
	
	return(hours);
}


/**
*	Returns no of stops in a particular flight trip
* @param one single json object of 1 trip
*/
function giveStops(trip)
{
	var noStops = "Non Stop";
	if(trip.alLegsInfo.length != 1)
	{
		noStops = ((trip.alLegsInfo.length)-1).toString();
		noStops = noStops+ "Stops";
	}
	return (noStops);
}






/*functions for loading assets*/
function loadCssAsset(name,ops){
	if(!$defined(window.ibeAssetKey))window.ibeAssetKey={};
	akey=window.ibeAssetKey;
	var namesansslash=name.replace(/\//g,'_');	
	var namesansdot=namesansslash.replace(/\./g,'_');
	if(!$defined(akey[namesansdot]))
		akey[namesansdot]= new Asset.css(name,ops);	
	return akey[namesansdot];
}



// Makes the value of 4 digits
function make4digits(val)
{
	while(val.toString().length < 4)
	{
		val = "0"+val;
	}
	return (val);
}


// Used for breaking an array into string
// @params
//		glue : seprator - the seprator that will seprate the array
//		pieces : the array to be seprated
function implode( glue, pieces ) 
{
    return ( ( pieces instanceof Array ) ? pieces.join ( glue ) : pieces );
}

// Used for converting a string into array. The string must be seprated by a common seprator throughtout
// 
function explode( delimiter, string ) {
     var emptyArray = { 0: '' };
 
    if ( arguments.length != 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }
 
    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }
 
    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }
 
    return string.toString().split ( delimiter.toString() );
}

//for showing and hiding modal elements

	function hideJax()
	{
		$('modalercontainer').removeClass('modalercontaineropen');
			$('modalercontainer').addClass('modalercontainer');
		
			//$('loader').removeClass('loader1');
			//$('loader').addClass('loader');
		
}
	function showJax(msg)
	{
			if(msg==null || msg=='')msg="We are processing your request. Please be patient."
				$('modalercontainer').removeClass('modalercontainer');
			$('modalercontainer').addClass('modalercontaineropen');
			//$('loader').removeClass('loader');
			//$('loader').addClass('loader1');
			$('loadermessage').setHTML(msg);
	
	}
	function showJax(msg,obj)
	{
		/*if(msg==null || msg=='')msg="We are processing your request. Please be patient."
		if($('loader')!=null){
			$('loader').removeClass('loader');
			$('loader').addClass('loader1');
			$('loadermessage').setHTML(msg);
		}*/
		
		$('modalercontainer').addiv=new Element("div",{'style':'top:30%;left:30%;position:fixed;text-align:center'}).inject($('modalercontainer'));
		if($('interstetialpage')!=null){
			$('interstetialpage').inject($('modalercontainer').addiv);
		}
		
		if(msg==null || msg=='')msg="We are processing your request. Please be patient."
			$('modalercontainer').removeClass('modalercontainer');
		$('modalercontainer').addClass('modalercontaineropen');
		
		
		$('loadermessage').setHTML(msg);
	
	}
	
	
/*	
	function makeModal(div)
	{				
			$('modalercontainer').removeClass('modalercontainer');
			$('modalercontainer').addClass('modalercontaineropen');
			if(div!=null && div.getParent()!=null && div.getParent()!=$('modalercontainer') && window.ie){
				div.previousParent=div.getParent();
				div.inject($('modalercontainer'));
			}
				
		//	if(div!=null)div.addClass('modalelt');
	
	}
	function unmakeModal(div)
	{		
			
			$('modalercontainer').removeClass('modalercontaineropen');
			$('modalercontainer').addClass('modalercontainer');
			if(div!=null && div.previousParent!=null  && window.ie){
				div.inject(div.previousParent);
				div.previousParent=null;
			}
		//	if(div!=null)div.removeClass('modalelt');
	
	}*/


function getGender(type)
{
	if(type.toString() == "M")
	{
		return("Male"); 
	}
	return("Female");
}



/**
 * return a human readable date format
 */
function getHumanDate(sDate)
{
		var sExtractYear = getYear(sDate);
		var sExtractMonth = getMonth(sDate);
		var sExtractDay = getDay(sDate);
		
		
		
		var sHumanDate = new Date();
		sHumanDate.setFullYear(sExtractYear,sExtractMonth,sExtractDay);
//		sHumanDate.setMonth(sExtractMonth,sExtractDay);
		return(sHumanDate);
}
	

function formatNumber(myNum, numOfDec)
{
	var decimal = 1;
	var i=0;
	for(i=1; i<=numOfDec;i++)decimal = decimal *10;
	var myFormattedNum = (Math.round(myNum * decimal)/decimal).toFixed(numOfDec);
	return(myFormattedNum);
}
	

function checkleapyear(year)
{
	year = parseInt(year);

	if(year%4 == 0)
	{
		if(year%100 != 0)
		{
			return true;
		}
		else
		{
			if(year%400 == 0)
				return true;
			else
				return false;
		}
	}
return false;
}





function getDateFromTimeStamp(ts)
{
	var iIndex = ts.indexOf(":").toInt();
	return ts.substring(0, iIndex-2);

}

function showElementById(id){
	$(id).style.visibility='visible';
	$(id).style.display='';
	
};

function hideElementById(id){
	$(id).style.visibility='hidden';
	$(id).style.display='none';
	
}
function setLocale(reqLocale){
	 new Request.JSON({url: "localeajaxhandler.ajax",'secure':false, onSuccess: function(responseJson,responseText){ 	
	    $('ibe_reload_current_window_form').submit();
	}}).get({'BIZ_MODE': 'CHANGE_LOCALE', 'loacleCode': reqLocale});

}
