function findChar(str,c){
//find index of  char c in string str

for(i = 0 ; i < str.length ; i++){ 
     if(str.charAt(i) == c) return i;
}

     return -1 ; 
}

function findStringPortion(start,str,c){

// find a portion of a string , str ,and return it
//starting at index start , ending when char c is found. or end of the string is reached 

 			var scEnd = start ; 
		
			while(scEnd < str.length){
			   			
					if(str.charAt(scEnd) == c) break ;
						
						scEnd++; 
							
			}
 			
			return str.substring(start, scEnd) ;

}


function IsValidObject(objToTest) {
if (objToTest == null) {
return false;
}


if(objToTest == "undefined"){
return false ; 
}

if( objToTest == 'undefined'){
	return false ; 
}


return true;
}

function isValidEMail(address)
{
	var filter = /[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Za-z]{2}.[A-Za-z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel)\b/;
	
	if (filter.test(address)) return true
	else return false;
}



function reDirect(w){

if(w == '') {
		try{
			document.location.reload();
		}
		catch(e){}
		}
else{
		try{
			document.location = w ;
		}
		catch(e){}
}


}




// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function openEmailFormWindow(sc) {



	var u = 'http://www.oag.com/NorthAmerica/mailAfriend/mailForm.asp?url=' ; 
	
	u+= escape(window.location);

	if(IsValidObject(sc)) u+=escape('&src='+sc);	

	popupWin = window.open(u,'mailForm','width=450,height=386,left=100,top=100,screenX=100,screenY=100');




}


/*new version of openEmailFormWindow for use with the mail a friend application */

/*

function openEmailFormWindow() {


var newwindow ='';

var url = 'www.oag.com/oag/website/com/en/PopUps/MailAFriend';


if (!newwindow.closed && newwindow.location)
	{
		newwindow.location.href = url;
	}
	else
	{
		newwindow=window.open(url,'mailWindow','width=450,height=386,left=100,top=100,screenX=100,screenY=100');

		if (!newwindow.opener) newwindow.opener = self;
	}
	
if (window.focus) {newwindow.focus()}
	

return false;

}

*/


function createPrintLinkTM(l){

var printVersionUrl = l;
var popUpRoot = '../../../../PopUps/Print/';
var char_tmp = '';
var i = 0 ; 
var str_tmp = ''; 

while(i < printVersionUrl.length){

	char_tmp =  printVersionUrl.charAt(i);

	if(char_tmp == ' '){
		
		char_tmp = '+';
	}
	
	str_tmp += char_tmp ;
	


	i++;
}

printVersionUrl = popUpRoot+str_tmp ; 

document.write('<a  href="" onclick="javascript:window.open(\''+printVersionUrl+'\',\'\'); return false;" class="blacklink">Print Version</a>');

}



function createdataPrintLink(l){

var printVersionUrl = l;
var popUpRoot = '../../../../en/PopUps/Print/';
var char_tmp = '';
var i = 0 ; 
var str_tmp = ''; 

while(i < printVersionUrl.length){

	char_tmp =  printVersionUrl.charAt(i);

	if(char_tmp == ' '){
		
		char_tmp = '+';
	}
	
	str_tmp += char_tmp ;
	


	i++;
}

printVersionUrl = popUpRoot+str_tmp ; 

document.write('<a  href="" onclick="javascript:window.open(\''+printVersionUrl+'\',\'\'); return false;" class="blacklink">Print Version</a>');

}






function createcargoPrintLink(l){

var printVersionUrl = l;
var popUpRoot = '../../../en/PopUps/Print/';
var char_tmp = '';
var i = 0 ; 
var str_tmp = ''; 

while(i < printVersionUrl.length){

	char_tmp =  printVersionUrl.charAt(i);

	if(char_tmp == ' '){
		
		char_tmp = '+';
	}
	
	str_tmp += char_tmp ;
	


	i++;
}

printVersionUrl = popUpRoot+str_tmp ; 

document.write('<a  href="" onclick="javascript:window.open(\''+printVersionUrl+'\',\'\'); return false;" class="blacklink">Print Version</a>');

}






function createPrintLink(l){

var printVersionUrl = l;
var popUpRoot = '../../PopUps/Print/';
var char_tmp = '';
var i = 0 ; 
var str_tmp = ''; 

while(i < printVersionUrl.length){

	char_tmp =  printVersionUrl.charAt(i);

	if(char_tmp == ' '){
		
		char_tmp = '+';
	}
	
	str_tmp += char_tmp ;
	


	i++;
}

printVersionUrl = popUpRoot+str_tmp ; 

document.write('<a  href="" onclick="javascript:window.open(\''+printVersionUrl+'\',\'\'); return false;" class="blacklink">Print Version</a>');

}

function trim(s){
		return Ltrim(Rtrim(s));
}

function Rtrim(s){
/* trim: remove trailing blanks, tabs, newlines */

	for(i=s.length-1; i > 0; i--){
		if(! isWhiteSpace(s.charAt(i))){
		 s =  s.substring(0,i+1)  ; 
		 break ; 
		}
	}

return s
}

function Ltrim(s){
/* trim: preceeding trailing blanks, tabs, newlines */

	for(i=0; i <= s.length ; i++){
		if(! isWhiteSpace(s.charAt(i))){
		 s =  s.substring(i,s.length)  ; 
		 break ; 
		}
	}
	
	return s  ; 
}

function isWhiteSpace(c){
	if (c == ' ' || c == '\t' || c == '\n' || c == '\f' || c=='\r'){
		return true ; 
	}
	return false ; 
}


function isValidPhoneNumber(n){

var str = /^[0-9\s\(\)\+\-]+$/; 
if (str.test(n)) return true
	else return false;
}

function containsOnlyDigits(n){
	
	var str = /^[0-9]+$/; 
if (str.test(n)) return true
	else return false;

}

function containsOnlyChars(n){
	
	var str = /^[a-zA-Z]+$/; 
if (str.test(n)) return true
	else return false;

}


function isValidUrl(n){
var str = /^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:\/~\+#]*[\w\-\@?^=%&amp;\/~\+#])?/
	
	
	//var str = /^https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?/
	
	if (str.test(n)) return true
	else return false;

}