function openWindow(url, width, height, left, top, name, scroll, resize) {
        if (width==null) width = 500;
        if (height==null) height = 400;
        if (left == null) left = 10;
        if (top == null) top = 10;
        if (name == null) name = 'tjt_popup';
        if (scroll == null) scroll = 'no';
        if (resize == null) resize = 'no';

        window.open(url, name, 'toolbar=no,location=no,status=no,directories=no,menubar=no,scrollbars='+scroll+',resizable='+resize+',width='+width+',height='+height+',left='+left+',top='+top, 'replace=false');
}

function word_count_init(max_words,textarea_id,num_words_id) {
	setTimeout('calculate_word_count('+max_words+',\''+textarea_id+'\', \''+num_words_id+'\')', 250);
}

function calculate_word_count(max_words, textarea_id, num_words_id) {
    var content_id = document.getElementById(textarea_id).value;
    var content    = document.getElementById(content_id);
    var num_words  = document.getElementById(num_words_id);
    
    var words_arr  = content.value.split(/\s+/g); // split the sentence into an array of words
    var word_count = words_arr.length;
    if (words_arr[words_arr.length - 1] == '' || words_arr[words_arr.length - 1] == ' ') word_count--;
    
    if (word_count > max_words) {
        var newstr = '';
        for (var i=0; i < max_words; i++) {
            if (i>0) newstr += " ";
            newstr += words_arr[i];
        }
        content.value = newstr+" ";
    }
    
    num_words.value = word_count;  
    
    setTimeout('calculate_word_count('+max_words+',\''+textarea_id+'\', \''+num_words_id+'\')', 250);
}

function dropdownSubmit(select, formName)
{
    selectedIndex = select.options.selectedIndex;
    selectedValue = select.options[selectedIndex].value;
    if (selectedValue != null && selectedValue != '') {
        document.forms[formName].submit();
    }
}

function toggle( targetId ){
  if (document.getElementById){
  		target = document.getElementById( targetId );
  			if (target.style.display == "none"){
  				target.style.display = "";
  			} else {
  				target.style.display = "none";
  			}
  	}
} 


function toggleOnOff ( targetId, onOff ){
  if (document.getElementById){
  		target = document.getElementById( targetId );
  			var displayType = (onOff===1) ? "" : "none";
			target.style.display = displayType;
  	}
} 

function change_inner_text ( targetId, text1, text2 ) {
	if (document.getElementById) {
		if ( innerTxt =  document.getElementById( targetId )) {
				if (innerTxt.innerHTML==text1) { 
			    innerTxt.innerHTML = text2;
			  } else {
				innerTxt.innerHTML = text1;
			  } 	
		   }
	}	
}

function toggle_search_forms ( ) {
	
}


function pageNav(increment) {
  f=document.pageNavForm;
  if (increment == "next") {
    f.page_num.value++;
  } else {
    f.page_num.value--;
  }
  f.submit();
  return false;
}

function gotoPage(pageNo) {
  f=document.pageNavForm;
  f.page_num.value=pageNo;
  f.submit();
  return false;
}

function validate_send_email() {
		var errFlag = new Array();
		_jsMsg = '';
		var frm = document.forms['send_details_to_friend'];
		
		var value = frm.elements['friend_email_address'].value;
		var field = frm.elements['friend_email_address'];
		var regex = /(\s|\S)/;
		if (!regex.test(value) && !errFlag['friend_email_address']) {
			errFlag['friend_email_address'] = true;
			_jsMsg = _jsMsg + '\n - Please enter an email address to send to';
		}
		var regex = /^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!regex.test(value) && !errFlag['friend_email_address']) {
			errFlag['friend_email_address'] = true;
			_jsMsg = _jsMsg + '\n - Please make sure the email address you are sending to is valid';
		}
		var regex = /^(\s|\S){0,50}$/;
		if (!regex.test(value) && !errFlag['friend_email_address']) {
			errFlag['friend_email_address'] = true;
			_jsMsg = _jsMsg + '\n - Email cannot be more than 50 characters';
		}
		
		var chk_val = frm.elements['check_all'].value;
		
		switch (chk_val) {
			case "1":
				var value = frm.elements['friend_from_email_address'].value;
				var field = frm.elements['friend_from_email_address'];
				var regex = /(\s|\S)/;
				if (!regex.test(value) && !errFlag['friend_from_email_address']) {
					errFlag['friend_from_email_address'] = true;
					_jsMsg = _jsMsg + '\n - Please enter your email address';
				}

				var regex = /^[a-zA-Z0-9\._-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
				if (!regex.test(value) && !errFlag['friend_from_email_address']) {
					errFlag['friend_from_email_address'] = true;
					_jsMsg = _jsMsg + '\n - Please make sure your valid email address';
				}
				var regex = /^(\s|\S){0,50}$/;
				if (!regex.test(value) && !errFlag['friend_from_email_address']) {
					errFlag['friend_from_email_address'] = true;
					_jsMsg = _jsMsg + '\n - Email cannot be more than 50 characters';
				}
				var value = frm.elements['friend_from_name'].value;
				var field = frm.elements['friend_from_name'];
				var regex = /(\s|\S)/;
				if (!regex.test(value) && !errFlag['friend_from_name']) {
					errFlag['friend_from_name'] = true;
					_jsMsg = _jsMsg + '\n - Please enter your name';
				}
			
			break;	
		}
		
		if (_jsMsg != '') {
			_jsMsg = 'Invalid information entered.' + _jsMsg;
			_jsMsg = _jsMsg + '\nPlease correct these fields.';
			alert(_jsMsg);
			return false;
		}
		return true;
 }
 
 Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}
	
var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function setUpPropertySelect () {
   if (document.getElementById) {
        if (document.getElementById('SelPackSubButton')) {
                Element.hide('SelPackSubButton');
        }
   }
}

function select_trade_package_type () {
	if (document.getElementById) {
		
        var Packselect = document.getElementById("package_type");

        if (Packselect) {
                
                var PackselectVal = Packselect.value;

                switch (PackselectVal)
                {
                        case 'standard':
                                if (document.getElementById('SelPackSubButton')) {
                                        Element.show('SelPackSubButton');
                                }
                                Element.show('standard_weeks_select');
                                Element.hide('priority_weeks_select');
                        break;
                
                        case 'priority':
                                if (document.getElementById('SelPackSubButton')) {
                                        Element.show('SelPackSubButton');
                                }
                                Element.show('priority_weeks_select');
                                Element.hide('standard_weeks_select');
                        break;
                
                        default:
                                if (document.getElementById('SelPackSubButton')) {
                                        Element.hide('SelPackSubButton');
                                }
                                Element.hide('priority_weeks_select');
                                Element.hide('standard_weeks_select');
                        break;
                }

                
        }
	}
}

addLoadEvent(setUpPropertySelect);
