function scrollPanel()
{
	var enqPanel;
	var minPanel;
	
	if(document.getElementById('enquiryPanel')) {
		enqPanel = document.getElementById('enquiryPanel');
		minPanel = document.getElementById('minTopPos');
	}
	else if(document.all('enquiryPanel')) {
		enqPanel = document.all('enquiryPanel');
		minPanel = document.all('minTopPos');
	}
	
	if(enqPanel) 
	{
		var topOffSet = minPanel.offsetTop + 150;
		
		var bodyScrollTop = document.body.scrollTop - topOffSet;
		
		if(document.body.scrollTop != enqPanel.offsetTop && document.body.scrollTop > topOffSet)
		{
			enqPanel.style.top = document.body.scrollTop - topOffSet;
		}
		else
		{
			enqPanel.style.top = 0;
		}
		
	}
}

function slideShowPopup() {
	ShowPopUpWindow('slideShowPopup', 'slides.cfm', 492, 520, 'yes', 'no', 'yes');
}
function ClientPort(clientid, w, h){
	
		ShowPopUpWindow("ClientPortfolio","portfolio.cfm?client_id="+clientid,w,h,"no","no","yes");
}
function PopupPDF(fileID) {
	document.location.href = basehref + 'default.cfm/download.' + fileID
}

function recalculate() {
	
	var workname;
	
	var numels = document.frmBasket.elements.length;
	
	numels=numels-1;
	var errorflag = 0;

	for (var i = 0; i <= numels; i++) {
	workname='';
		if (document.frmBasket.elements[i].name.length > 2) {
		workname= document.frmBasket.elements[i].name.substring(0,3);
		}
		
		if (workname=='qty') {
		
			if (!isInteger(document.frmBasket.elements[i].value)) {
				errorflag=1;
			}
			
		}
	}
	
	if (errorflag==0) {
		document.frmBasket.submit();
	} else {
		alert('All quantities must be numeric!');		
	}
}
function myorder(ca){
	
	var f;
	var f = document.frmBasket;
	f.action = securebasehref + 'default.cfm/loadfile.BuyBasket.cfm';
	if (ca == '1') {
		f.NextStep.value = '';
	}
	f.submit();
}
function ShowSecurePopUp(Name, File, w, h, Status, Resize, Scroll){
	var t=0, l = 0, winstring = "";
	var infowindow;

	if(infowindow){
		if(!infowindow.closed) infowindow.close();
	}

	l = ((screen.width / 2) - (w / 2));
	t = ((screen.height / 2) - (h / 2));

	winstring = "width=" + w + ", height=" + h + ",left=" + l + ",top=" + t +  ",status=" + Status + ",resizable=" + Resize + ",scrollbars=" + Scroll;
	infowindow = window.open(File,Name,winstring);
	return;
}

function slides(base){



	var strUrl = base + "slides.cfm";
	alert(strUrl);
	ShowSecurePopUp("Russia Experience", strUrl, 500, 400, "no", "no", "yes");


}
function isEmail(email) {
	var invalidCharString = " ,<>!\"?%^&*()+=*/\\\';:#~[]{}";
	var i = 0;
	
	for (i = 0; i < invalidCharString.length; i++) {
		if (-1 < email.indexOf(invalidCharString.charAt(i))) {
			return false;
		}
	}
	
	var firstAt = email.indexOf('@');
	var lastAt = email.lastIndexOf('@');
	var lastDot = email.lastIndexOf('.');
	if (!((0 < firstAt) && (1 < lastDot) && (firstAt == lastAt) && ((firstAt + 1) < lastDot) && (lastDot < (email.length - 2)))) 
	{
		return false;
	}
	else {
		return true;
	}
}

function ShowPopUpLogin(){
	var Name='winLogin';
	var File="Login.cfm";
	var w=300;
	var h=200;
	var Status="no";
	var Resize="no";
	var Scroll="no";
	var t=0, l = 0, winstring = "";
	var infowindow;

	if(infowindow){
		if(!infowindow.closed) infowindow.close()
	}

	l = ((screen.width / 2) - (w / 2))
	t = ((screen.height / 2) - (h / 2))

	winstring = "width=" + w + ", height=" + h + ",left=" + l + ",top=" + t +  ",status=" + Status + ",resizable=" + Resize + ",scrollbars=" + Scroll;

	infowindow = window.open(File,Name,winstring);
}
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++){
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   }
   return this
}

function isCurrency(s) {
	s = s.replace(",","");
	s = s.replace("?","");
	var rg="/\d*?\.?/";
	
	if(s.indexOf(".")!=-1) {
		if(s.length - s.indexOf(".")>3) {
			return false;
		}
	}
	if(rg.test(s) && !isNaN(s)) {
		return true;
	}
	return false;
}

function isInteger(s){
	if (s.length == 0) {
		return false;
	}
	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 trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function isNumWithSpace(s){
 var i;
  if(s.length==0){
  	return false;
  }
 for (i = 0; i < s.length; i++){
  // Check that current character is number or space.
  var c = s.charAt(i);
  if(c== " "){
  	c="0"
  }
  if (((c < "0") || (c > "9"))) return false;
 }
 // All characters are numbers.
 return true;
}

function isDate(dtStr){
 var dtCh= "/";
 var minYear=1900;
 var maxYear=2100;

 var daysInMonth = DaysArray(12);
 var pos1=dtStr.indexOf(dtCh);
 var pos2=dtStr.indexOf(dtCh,pos1+1);
 var strDay=dtStr.substring(0,pos1);
 var strMonth=dtStr.substring(pos1+1,pos2);
 var strYear=dtStr.substring(pos2+1)
 strYr=strYear;
 if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
 if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
 for (var i = 1; i <= 3; i++) {
  if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
 }
 month=parseInt(strMonth)
 day=parseInt(strDay)
 year=parseInt(strYr)
 if (pos1==-1 || pos2==-1){
//     alert("The date format should be : dd/mm/yyyy")
  return false
 }
 if (month<1 || month>12){
  alert("Please enter a valid month")
  return false
 }
 if (day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
//     alert("Please enter a valid day")
  return false
 }
 if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
//     alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
  return false
 }
if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
 return false
 }
 return true
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function SetValue(id, newValue) {
	var identity=document.getElementById(id);
	identity.value=newValue;
}

function SetInnerHtml(id, newValue) {
	var identity=document.getElementById(id);
	identity.innerHTML=newValue;
}

function SetStyle(id, newClass) {
	var identity=document.getElementById(id);
	identity.className=newClass;
}

function AddStyle(id, newClass) {
	var identity=document.getElementById(id);
	if (identity.className != "false") {
		var style = identity.className;
		style = style + " " + newClass;
		identity.className = style;
	}
	else {
		identity.className = newClass;
	}
}

function RemoveStyle(id, oldClass) {
	var identity=document.getElementById(id);
	if (identity.className != "false") {
		var style = identity.className;
		style = replace(style,oldClass,"");
		identity.className = replace(identity.className,oldClass,"");
	}
}

function SetVisibility(id, visible) {
	var identity=document.getElementById(id);
	var style = "";
	if (identity.className) {
		style = identity.className;
	}
	if (visible) {
		style = replace(style,"hiddenElement","") + " visibleElement";
	}
	else {
		style = replace(style,"visibleElement","") + " hiddenElement";
	}
	identity.className = style;
}

/*
	getElementsByClassName
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}
			
function getRadioButtonValue(radioButtonArray) {
	var value = '';
	for (var i=0; i<radioButtonArray.length; i++) {
		if (radioButtonArray[i].checked) {
			value = radioButtonArray[i].value;
			break;
		}
	}
	
	return value;
}

function addToFavorites(urlAddress, pageName) { 
	if (window.external) { 
		window.external.AddFavorite(urlAddress,pageName) 
	} else { 
		alert("Sorry! Your browser doesn't support this function."); 
	}
}

function openCertDetails() {

	var referer = "";
	var siteSealImage;

	if (self.sampleReferer)
		referer = self.sampleReferer;
	else
		referer = window.location;
/*
	if (document.images) {
		siteSealImage = document.images["thawteSiteSeal"]
		siteSealImage.src="https://www.thawte.com/cgi/server/seal_generator.exe?referer=" + referer
	}
*/
	certDetailsUrlWithReferer = "https://www.thawte.com/cgi/server/certdetails.exe?referer=" + referer;
	thewindow = window.open(certDetailsUrlWithReferer,
		"newWindow", config="height=500,width=516,toolbar=no,menubar=no," +
		"scrollbars=yes,resizable=no,location=no,directories=no,status=yes");

}


/***********************************************
* Bookmark site script- ? Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
function BookmarkSite(title, url){
if (document.all)
window.external.AddFavorite(url, title);
else if (window.sidebar)
window.sidebar.addPanel(title, url, "");
}
