function deleteRecord(url, question)
{
	var question = (question) ? question:"Are you sure of deleting this record?";
	if (confirm(question))
	{
		window.location.href = url;
	}
}
function promptQuestion(url, fieldName, question)
{
	var question = (question) ? question:"Enter the data please";
	var data = prompt(question, "");
	if (data)
	{
		window.location.href = url+"&"+fieldName+"="+data;
	}
}
function setImage(selectObj)
{
	var imgName = selectObj.options[selectObj.selectedIndex].imageName;
	var imgSrc = selectObj.options[selectObj.selectedIndex].imageSrc;
	var imageName = document.getElementById("imageName");
	imageName.innerHTML = "<a href='../../images/product/extra_image/"+imgSrc+"' target='_blank'>"+imgName+"</a>";
}
function PopupImage(img) {
	titre="Image";
	w=open("",'image','width=400,height=400,toolbar=no,scrollbars=no,resizable=yes');
	w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");
	w.document.write("<SCRIPT language=javascript>function checksize()  { if (document.images[0].complete) {  window.resizeTo(document.images[0].width+12,document.images[0].height+30); window.focus();} else { setTimeout('check()',250) } }</"+"SCRIPT>");
	w.document.write("<BODY onload='checksize()' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0><IMG src=\""+img+"\" border=0>");
	w.document.write("");
	w.document.write("</BODY></HTML>");
	w.document.close();
}
function popup(url, w, h, winName, location, toolbar, scrollBar, resizable)
{
	location = (location) ? ",location=yes":",location=no";
	toolbar = (toolbar) ? ",toolbar=yes":",toolbar=no";
	scrollBar = (scrollBar) ? ",scrollbars=yes":",scrollbars=no";
	resizable = (resizable) ? ",resizable=yes":",resizable=no";
	
	w=open(url,winName,'width='+w+',height=' + h + location + toolbar + scrollBar + resizable);
	
	if (w==null || typeof(w)=="undefined")
	{
		alert("A popup blocker has prevent this website\nfrom showing you relevant information.\nPlease allow popups for this site.");
	}
	else
	{
		w.focus();
	}
}
function selectgroup(field)
{        
	for (var i = 0; i<category.elements.length; i++)
	{
	   	if(category.elements[i].type == "checkbox" && category.elements[i].name == field)
	   	{
	   		category.elements[i].checked = true;	
	   	}	
	}
}
function selectAll()
{
	for (var i = 0; i<category.elements.length; i++)
	{
	   	category.elements[i].checked = true;		
	}
}
function ccpedit(url, question)
{
	question = (question != "" && question) ? question:
		"Are you sure you want to proceed?";
	
	if (confirm(question))
	{
		window.location.href = url;
	}
}
function unselect_All()
{
	if(document.newsletter.unselectall.value == "on")
	{
		for (var i=0;i<document.newsletter.elements.length-3;i++){
			var check = document.newsletter.elements[i];
			check.checked = false;
		}
	}
}
function select_All()
{
	for (var i = 0; i<newsletter.elements.length-4; i++)
	{
	   	newsletter.elements[i].checked = true;		
	}
}
function checkall(groupindex,postcodenumber)
{
	var index = groupindex;
	var check = f1.elements[index].checked;
	var loopnumber = postcodenumber;
	
	if (eval(check))
 	{
		
		for (var i = index+1; i <= index+loopnumber; i++)
		{
	   		f1.elements[i].checked = true;	
	   		//f1.elements[i].disabled= true;	
		}
	}
	else
	{
		for (var i = index+1; i <= index+loopnumber; i++)
		{
	   		f1.elements[i].checked = false;
	   		//f1.elements[i].disabled= false;		
		}
		
	}	
}
function setBackgroundColor(idStr, color, txtObj)
{
	var object = document.getElementById(idStr);
	if (object)
	{
		try
		{
			object.style.backgroundColor = color;
		}
		catch(e)
		{
//			alert("The value you have entered is NOT valid")
			if (txtObj)
			{
//				txtObj.value = "#FFFFFF";
				txtObj.value = ""; 
			}
		}
	}
	else
	{
		alert(object+" - id="+idStr)
	}
}
function hideInfoBox()
{
	var container = getContainerReference1();
	container.innerHTML = "";
	container.style.display = "none";
}
function getContainerReference1()
{
	var objInfoBox = document.getElementById("infoBox");
	if (objInfoBox) 
	{
		return objInfoBox;
	}
	else
	{
		var objDiv = document.createElement("div");
			objDiv.className = "infoBox";
			objDiv.id = "infoBox";
		document.body.appendChild(objDiv)
		return objDiv;
	}
}
function formatDB2Date(date)
{
	if (date.length == 10)
	{
		return date.substr(8,2)+"/"+date.substr(5,2)+"/"+date.substr(2,2);
	}
	return "n/a";
}
function drawIcon(file_name)
{
	extensions = new Array("jpg", "indd", "html,htm,php,js",
		"doc", "pdf", "psd", "pub", "tif,tiff", "xls", "rar");
	icons = new Array("jpg.gif", "indd.gif", "html.gif",
		"doc.gif", "pdf.gif", "psd.gif", "pub.gif", "tif.gif",
		"xls.gif", "rar.gif");
	counter = 0;
	while(file_name.indexOf(".") != -1)
	{
		file_name = file_name.substr(file_name.indexOf(".")+1);
		counter++;
		if (counter == 50)
		{
			alert("stack");
			return "";
		}
	}
	for(i=0; i<extensions.length; i++)
	{
		extension_arr = extensions[i].split(",");
		for (j=0; j<extension_arr.length; j++)
		{
			if (file_name == extension_arr[j])
			{
				return "<img src='../images/icons/"+icons[i]+"' onerror='this.style.display=\"none\"' />";
			}
		}
	} 
}
function tickAll_chk(formObj, chk)
{
	for (var i = 0; i<formObj.elements.length; i++)
	{
	   	if(formObj.elements[i].type == "checkbox")
	   	{
	   		formObj.elements[i].checked = chk.checked;
	   	}
	}
}
function bookMarkPage(websiteName)
{
	title = document.title; 
	url = window.location.href;

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
}
function makeCCNumber(ccObj, txt1, txt2, txt3, txt4)
{
	ccObj.value = txt1 + " " + txt2 + " " + txt3 + " " + txt4;
}
function makeCCExpire(ccObj, txt1, txt2)
{
	ccObj.value = txt1 + "/" + txt2;
}
function formBuilderCheck(formObj)
{
	for(i=0; i<formObj.elements.length; i++)
	{
		if(formObj.elements[i].getAttribute("err") && formObj.elements[i].style.display != "none")
		{
			if(formObj.elements[i].type.toLowerCase() == "select" ||
				formObj.elements[i].type.toLowerCase() == "select-one")
			{
				if(formObj.elements[i].selectedIndex == 0)
				{
					alert(formObj.elements[i].getAttribute("err"));
					formObj.elements[i].focus();
					return false;
				}
			}
			else if(formObj.elements[i].type.toLowerCase() == "radio" ||
				formObj.elements[i].type.toLowerCase() == "checkbox")
			{
				var isChecked = false;
				var elements = new Array();
				for(j=0; j<formObj.elements.length; j++)
				{
					if (formObj.elements[j].name == formObj.elements[i].name)
					{
						elements[elements.length] = formObj.elements[j];
					}
				}
				for(j=0; j<elements.length; j++)
				{
					if(elements[j].checked)
					{
						isChecked = true;
					}
				}
				if(!isChecked)
				{
					alert(formObj.elements[i].getAttribute("err"));
					formObj.elements[i].focus();
					return false;
				}
			}
			else
			{
				var test = doTrim(formObj.elements[i].value);
				if(test == "")
				{
					alert(formObj.elements[i].getAttribute("err"));
					if(formObj.elements[i].type.toLowerCase() != "hidden")
					{
						formObj.elements[i].focus();
					}
					return false;
				}
			}
		}
	}
	return true;
}
function doTrim(s)
{
	while(s.indexOf(" ") != -1)
	{
		s = s.replace(" ", "");
	}
	return s;
}
function ITShowHideElement(eleID)
{
	try
	{
		var eleIDObj = document.getElementById(eleID);
		var display = (eleIDObj.style.display == "none") ? "":"none";
		eleIDObj.style.display = display;		
	}
	catch(e)
	{
		alert(e.description)
	}
}
function ITShowHideElementClass(eleClassName, parentID, htmlTag, force)
{
	try
	{
		var parentObj = document.getElementById(parentID);
		var elements = null;
		if(parentObj)
		{
			elements = getElementsByClassName(parentObj, htmlTag, eleClassName);
		}
		else
		{
			elements = getElementsByClassName(document, htmlTag, eleClassName);
		}
	
		if(elements != null && elements.length)
		{
			if(parentObj.getAttribute("forceOpen") == "1")
			{
				var displayStr = "";
				parentObj.forceOpen = -1; 
			}
			else
			{
				if(force != null)
				{
					var displayStr = (elements[0].style.display.toLowerCase() == "none") ? "":"none";	
				}
				else
				{
					var displayStr = force;
				}				
			}
			
			for(var i=0; i<elements.length; i++)
			{
				elements[i].style.display = displayStr;
			}
		}
	}
	catch(e)
	{
		alert(e.description)
	}
}

function basename(path) 
{ 
	return path.replace( /.*\//, "" ); 
}
var prevDiv = null;
var prevAnc = null;
function showHideHistory(anchorID, divID, flag)
{
	var divObj = document.getElementById(divID);
	var anchorObj = document.getElementById(anchorID);
	
	if(prevDiv && prevAnc &&
		prevDiv != divObj && prevAnc != anchorObj)
	{
		prevDiv.style.display = "none";
		prevAnc.innerHTML  = "show history";
		
		if(flag)
		{
			prevAnc.innerHTML = "<font color='#FFFFFF'>"+prevAnc.innerHTML+"</font>";
		}
	}
	if(divObj && anchorObj)
	{
		anchorObj.innerHTML = (divObj.style.display == "block") ? "show history":"hide history";
		divObj.style.display = (divObj.style.display == "block") ? "none":"block";
		
		if(flag)
		{
			anchorObj.innerHTML = "<font color='#FFFFFF'>"+anchorObj.innerHTML+"</font>";
		}
	}
	
	prevDiv = divObj;
	prevAnc = anchorObj;	
}
function checkFormErr(formObj)
{
	for(var i=0; i<formObj.elements.length;i++)
	{
		if(formObj.elements[i].getAttribute("err") &&
			formObj.elements[i].value == "")
		{
			formObj.elements[i].focus();
			alert(formObj.elements[i].getAttribute("err"));
			return false;
		}
	}
	
	return true;
}
/*other's functions*/
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain a valid e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '* '+nm+' \n'; }
  } if (errors) alert('Sorry. Adding customer details require the following information:\n'+errors);
  document.MM_returnValue = (errors == '');
}
function checkPw(form) {
pw1 = form.password.value;
pw2 = form.password2.value;
if (pw1 != pw2) {
alert ("\nYou did not enter the same new password twice. Please re-enter your password.")
return false;
}
else return true;
}
 function isEmailAddr(email)
{
  var result = false
  var theStr = new String(email)
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}
function FormValidator(theForm)
{
  if (theForm.enquiry.value == "")
  {
    alert("Please enter a value for the \"Enquiry \/ Booking Details\" field.");
    theForm.email.focus();
    return (false);
  }
  if (theForm.email.value == "")
  {
    alert("Please enter a value for the \"Email\" field.");
    theForm.email.focus();
    return (false);
  }
  if (!isEmailAddr(theForm.email.value))
  {
    alert("Please enter a complete email address in the form:\n yourname@yourdomain.com");
    theForm.email.focus();
    return (false);
  }
   
  if (theForm.email.value.length < 3)
  {
    alert("Please enter at least 3 characters in the \"email\" field.");
    theForm.email.focus();
    return (false);
  }
  
    if (theForm.comeTo.value == "")
  {
    alert("Please select an item from the \"How did you come to Seaplane Safaris?\" field.");
    theForm.comeTo.focus();
    return (false);
  }
  
  return (true);
}
/* contact us forms */
function validateEnquiry(formObj)
{
	try
	{
		var error="";
		var divname="span";
		var tmpCurrentGroup = "";
		var tmpGroups = new Array();

		for(var i=0; i<formObj.elements.length; i++) //>
		{
			if(formObj.elements[i].name)
			{
				if(formObj.elements[i].getAttribute("isCompulsory") == "true") //check compulsory elements
				{
					divname = formObj.elements[i].getAttribute("errorID"); 
					hideIcons(divname); //hidding icons

					if(formObj.elements[i].type == "text" ||
						formObj.elements[i].type == "textarea" ||
						formObj.elements[i].type == "password")
					{
						if(formObj.elements[i].value == "")
						{
							error =	showIcons(formObj.elements[i], divname, error);
						}											
					}
					if(formObj.elements[i].type == "radio" ||
						formObj.elements[i].type == "checkbox") 
					{
						if(tmpCurrentGroup != formObj.elements[i].name)
						{
							var key = tmpGroups.length;
							tmpGroups[key] = new Array();
							tmpCurrentGroup = formObj.elements[i].name;
						}
						
						var counter = tmpGroups[key].length;
						tmpGroups[key][counter] = formObj.elements[i];
					}					
					if(formObj.elements[i].type == "select-one")
					{
						if(formObj.elements[i].selectedIndex == 0)
						{
							error =	showIcons(formObj.elements[i], divname, error);
						}
					}					
					if(formObj.elements[i].type == "select-multiple")
					{
						if(formObj.elements[i].selectedIndex == -1)
						{
							error =	showIcons(formObj.elements[i], divname, error);						
						}
					}					
				}
			}
		}
		
		if(tmpGroups.length) //radio or checkbox elements to be tested
		{
			for(var i=0; i<tmpGroups.length; i++) //iterating through groups
			{					
				var selectionFound = false;
				for(var j=0; j<tmpGroups[i].length; j++) //iterating through elements
				{
					if(tmpGroups[i][j].checked) //if checked
					{
						selectionFound = true;
						break;
					}
				}
				
				if(!selectionFound) //if no selection was found
				{
					divname = tmpGroups[i][0].getAttribute("errorID"); //using the first element from the group - 0
					error =	showIcons(tmpGroups[i][0], divname, error);				
				}
			}
		}

		if(error=="")
		{
			return true;
		}
		else
		{
			error="Fields marked with an arrow are compulsory.\n"+error+"\nPlease fill them in.";
			alert(error);
			return false;
		}
		return false;
	}
	catch(e)
	{
		alert(e.description)
		return false;
	}
}
function showIcons(fieldObj,divname,error)
{
	document.getElementById(divname).style.display = "block";

	if(fieldObj)
	{
		error+= "\n"+fieldObj.getAttribute("label");	
		fieldObj.focus()
	}
	
	return error;
}
function hideIcons(divname)
{
	document.getElementById(divname).style.display = "none";
}
function ismail(mail)
{
	return(new RegExp(/^\w+(((_|-)\w+)|(\.)|('\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}
function goTo(url, addToHistory)
{
	if(addToHistory)
	{
		window.location.href=url;
	}
	else
	{
		window.location.replace(url);
	}
}

function askConfirmation(url, question)
{
	if(confirm(question))
	{
		goTo(url, 0);
	}
}
function doDelete(url, customQuestion)
{
	customQuestion = (customQuestion) ? customQuestion:"Are you sure you want to delete this record?";
	askConfirmation(url, customQuestion);
}



function selectAllBoxes(chkObj, classNameFlag)
{
	var formObj = chkObj.form;
	for(var i=0; i<formObj.elements.length; i++)
	{
		if(formObj.elements[i].type.toLowerCase() == "checkbox")
		{
			try
			{
				if(formObj.elements[i].className != "")
				{
					var classes = formObj.elements[i].className.split(" ");
					for(var j=0; j<classes.length; j++)
					{
						if(classes[j].toLowerCase() == classNameFlag.toLowerCase())
						{
							formObj.elements[i].checked = chkObj.checked;
						}				
					}
				}
			}
			catch(e)
			{
				alert(e.description)
			}			
		}
	}
}
function selectAllBoxes2(formObj, classNameFlag)
{
	var checkedValue = null;
	
	for(var i=0; i<formObj.elements.length; i++)
	{
		if(formObj.elements[i].type.toLowerCase() == "checkbox")
		{
			try
			{
				if(formObj.elements[i].className != "")
				{
					var classes = formObj.elements[i].className.toLowerCase().split(" ");		
					for(var j=0; j<classes.length; j++)
					{					
						if(classes[j] == classNameFlag.toLowerCase())
						{
							if(checkedValue == null)
							{
								checkedValue = formObj.elements[i].checked;
							}
							
							formObj.elements[i].checked = !checkedValue;
						}
					}
				}
			}
			catch(e)
			{
				alert(e.description)
			}
		}
	}
}

function reloadAndClose()
{
	if(window.opener)
	{
		window.opener.location.reload();
	}
	
	window.close();
}

function showHide(eleID, aID, ex, re)
{
	var ele = document.getElementById(eleID);

	if(ele)
	{
		ele.style.display = (ele.style.display == "none") ? "block":"none";
		
		if(aID && document.getElementById(aID))
		{
			if(ele.style.display == "none")
			{				
				document.getElementById(aID).innerHTML = ex;
			}
			else
			{
				document.getElementById(aID).innerHTML = re;
			}
		}		
	}
}
function swapCSSClass(obj, cssClass)
{
	if(obj)
	{
		obj.className = cssClass;
	}
}
function confirmDeleteForm(question)
{
	question = (question) ? question:"Are you sure you want to proceed?";
	return confirm(question);
}

function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function jsSetCookie( name, value, expires, path, domain, secure ) 
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}
// with this test document.cookie.indexOf( name + "=" );
function jsGetCookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}
// this deletes the cookie when called
function jsDeleteCookie( name, path, domain ) {
	if ( jsGetCookie( name ) ) 
	{
		document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	}
}

function togglePrev(obj, targetObj)
{
	var objCheck = obj.checked		
	if(objCheck == false)
	{
		toggleEditor(targetObj);
		obj.checked = true ;
	}		
	else
	{
		return false ;
	}			
}
function itHandleSearchFocus(txtObj, eventTxt)
{
	if(eventTxt == "focus")
	{
		txtObj.setAttribute("tmpValue", txtObj.value);
		txtObj.value = "";
	}
	else
	{
		txtObj.value = txtObj.getAttribute("tmpValue");
	}
}

	function itShowOlder(tblStr, className)
    {
        var tblObj = document.getElementById(tblStr);
        var elements = getElementsByClassName(tblObj, "tr", className);
        if(typeof(elements) == "object")
        {
            var display = null;
            for(var i=0; i<elements.length; i++)
            {
                display = (display == null) ? ((elements[i].style.display == "none") ? "":"none"):display;
                elements[i].style.display = display;
            }
        }
    }
    function itCheckFolder(selectObj, MAX_TABS_PER_GROUP)
    {
        var formObj = selectObj.form;
        var val = selectObj.options[selectObj.selectedIndex].value;
        //clearing existing options for tab drop down
        var curTabNum = (formObj['tab_id'].options) ? formObj['tab_id'].options.length:0;
        for(i=0; i<curTabNum; i++)
        {
            formObj['tab_id'].remove(0);
        }

        //the selected folder has tabs

        if(folderTabArr[val] && folderTabArr[val].length > 0)
        {
            for(var i=0; i<folderTabArr[val].length; i++)
            {
                var optionObj = document.createElement("option");
                optionObj.value = folderTabArr[val][i][0];
                optionObj.innerHTML = folderTabArr[val][i][1];
                formObj['tab_id'].appendChild(optionObj);
            }

            if(folderTabArr[val].length < MAX_TABS_PER_GROUP)
            {
                var optionObj = document.createElement("option");
                optionObj.value = -1;
                optionObj.innerHTML = "Create new tab";
                formObj['tab_id'].appendChild(optionObj);
            }
            document.getElementById("formExistingTab").style.display = "";
            document.getElementById("formTabTr").style.display = "none";
        }
        else //no tabs, hide control
        {
            document.getElementById("formExistingTab").style.display = "none";
        }

        document.getElementById("formGroupTr").style.display = (val == -1) ? "":"none";
        document.getElementById("formTabTr").style.display = (val == -1

                            || (val != 0 && (!folderTabArr[val] || folderTabArr[val].length < 1))) ? "":"none";
    }
    function itCheckTab(selectObj)
    {
        var formObj = selectObj.form;
        var val = selectObj.options[selectObj.selectedIndex].value;

        if(val == -1)
        {
            document.getElementById("formTabTr").style.display = "";
        }
    }
    function itTmpCheckForm(formObj)
    {
        if(formObj['group_id'].options[formObj['group_id'].selectedIndex].value == -1)
        {
            //checking user has entered a folder name
            if(formObj['new_folder_name'].value == "")
            {
                alert("Please make sure you have enetered a folder name");
                formObj['new_folder_name'].focus();
                return false;
            }

            //iterating through the existing folders to check that the new folder name is

            //not the same as an existing one

            for(i=0; i<formObj['group_id'].options.length; i++)
            {
                if(formObj['group_id'].options[i].getAttribute("gname"))
                {
                    if(formObj['group_id'].options[i].getAttribute("gname").toLowerCase() ==
                        formObj['new_folder_name'].value.toLowerCase())
                    {
                        var b = confirm("The folder name you entered exists already\n" +
                            "Click OK to proceed and add the file '"+formObj['group_id'].options[i].getAttribute("gname")+"', or\n" +
                            "Click CANCEL to change the folder name");
                        try{
                            formObj['new_folder_name'].select();
                        } catch(e){}

                        return b;

                    }
                }
            }
        }
    }

    function itOpenCloseFileTabs(idsToClose, idToOpen)
    {
        var ids = idsToClose.split("|");
        for(var i=0; i<ids.length; i++)
        {
            var obj = document.getElementById(ids[i]);

            if(obj)
            {
                obj.style.display = "none";
            }

            var obj = document.getElementById("td" + ids[i].substr(3));

            if(obj)
            {
                obj.style.backgroundColor = "#cccccc";
            }
        }

        var obj = document.getElementById(idToOpen);

        if(obj)
        {
            obj.style.display = "";
        }

        var obj = document.getElementById("td" + idToOpen.substr(3));

        if(obj)
        {
            obj.style.backgroundColor = "#ffffff";
        }
    }

    function isvalidString(str)
	{
		if(str.length > 0)
		{
			for(var i=0; i<str.length; i++)
			{
				if(str.charAt(i)!=" ")
				{
					return true ;
				}
			}
			return false;
		}
		else
		{
			return false;
		}
	}
    
    function reArrangePos(posObj, objContent, cssClassName)
    {
        var elements = getElementsByClassName(objContent, "input", cssClassName);
        var newPos = posObj.value;

        if(isNaN(newPos))
        {
            posObj.value = posObj.getAttribute("bkValue");
            alert("Please make sure you entered a number from 1 to " + elements.length)
        }
        else
        {
            if(newPos >= 1 && newPos <= elements.length) //new pos is valid
            {
                elements.sort(reSort);

                var tmpElements = new Array();
                for(var i=0; i<elements.length; i++)
                {
                    if(elements[i] != posObj)
                    {
                        tmpElements[tmpElements.length] = elements[i];
                    }
                }

                //f = "";
                var arrIndex = 0;
                for(var i=1; i<=elements.length; i++)
                {
                    if(i == posObj.value)
                    {
                        continue;
                    }
                    else
                    {
                        tmpElements[arrIndex].value = i;
                        arrIndex++;
                    }
                }
            }
            else
            {
                posObj.value = posObj.getAttribute("bkValue");
                alert("Please make sure you entered a number from 1 to " + elements.length)
            }
        }
    }
    function reSort(a,b)
    {
        var res = a.value - b.value;
        return res;
    }
