function popup(url, width, height) 
{
	var pWin = window.open(url,"NewWin","height=" + height + ",width=" + width + ",location=no,toolbar=no,scrollbars=yes,resizable=no,menubar=no");
	pWin.focus();
}
function newwindow(url, width, height) 
{
	var Secondwin;
	Secondwin = window.open(url,"NewWin2","height=" + height + ",width=" + width + ",location=no,toolbar=no,scrollbars=yes,resizable=yes,menubar=no");
}
function limitLength( control, length )
{
	if( control.value.length > length )
	{
		control.value = control.value.substr( 0, length );
	}
}
function validateemail(email, url) {
	document.body.style.cursor='wait';

	// Create an instance of the XML HTTP Request object
	var oXMLHTTP = new ActiveXObject( "Microsoft.XMLHTTP" );
	
	// Prepare the XMLHTTP object for a HTTP POST to our validation ASP page
	var sURL = url + "validatesupplieremail.aspx?email=" + email;
	oXMLHTTP.open( "POST", sURL, false );

	// Execute the request
	oXMLHTTP.send();

	if (oXMLHTTP.responseText == "exist")
	{
		alert("Sorry - the email " + email + " already exists.");
		document.getElementById( "_ctl0_content_companyinfo_email" ).value = '';
		document.getElementById( "_ctl0_content_companyinfo_email" ).focus();
	}

	document.body.style.cursor='auto';
}
function ValidatorTrim(str)
{
	while (str.substring(0,1) == ' ')
	{
		str = str.substring(1, str.length);
	}
	while (str.substring(str.length-1, str.length) == ' ')
	{
		str = str.substring(0,str.length-1);
	}
	return str;
}

function getTop(o, sBreakAt) 
{
	var iTop = 0;
	if (o.offsetParent != null) {
		if(sBreakAt && (oParent = getElement(sBreakAt))) 
		{
			while (o.offsetParent != null && o.offsetParent != oParent){
				iTop += o.offsetTop;o = o.offsetParent;
			}
		}
		else
		{	
			while (o.offsetParent != null){
				iTop += o.offsetTop;o = o.offsetParent;
			}
		}
		
	} else if (o.y) {
		iTop += o.y;
	}
	return iTop;
}

function getLeft(o) 
{
	var iLeft = 0;
	if (o.offsetParent != null) {
		while (o.offsetParent != null) {
			iLeft += o.offsetLeft;o = o.offsetParent;
		}
	} else if (o.x) {
		iLeft += o.x;
	}
	return iLeft;
}

function setEvent(oElement, sEventType, fEventHandler) 
{
	if (typeof(oElement) == 'string')
		oElement = getElement(oElement);
	if(window.attachEvent) {
		oElement.attachEvent('on'+sEventType, fEventHandler);
	} else if (window.addEventListener) {
		oElement.addEventListener(sEventType, fEventHandler, false);
	} else {
		
		if(oElement['on'+sEventType]) {		
			oldFunc = oElement['on'+sEventType];
			oElement['on'+sEventType] = function() {
				oldFunc;
				fEventHandler;
			}
		} else {
			oElement['on'+sEventType] = fEventHandler;
		}
	}
}

function getElementsByTagAndClass(a_sTagName, a_sClassName) 
{
	var aReturnElements = [];
	if(document.getElementsByTagName) {
		var aAllTags = document.getElementsByTagName(a_sTagName);
		for(j = 0; j < aAllTags.length; j++) {
			var oCurrentTag = aAllTags[j];
			if(oCurrentTag.className == a_sClassName) {
				aReturnElements[aReturnElements.length] = oCurrentTag;
			}
		}
	}
	return aReturnElements;
}

function getElement(a_sElementId) 
{
	if (typeof(a_sElementId) != "string")
		return a_sElementId;
	var oElement = (document.getElementById) ? document.getElementById(a_sElementId) : (document.all) ? document.all[a_sElementId] : null;
	if(oElement == null) {	
		for(i = 0; i < document.forms.length; i++) {
			var form = document.forms[i];
			if(form.name == a_sElementId) {
				return form;
			} else {
				for(j = 0; j < form.elements.length; j++) {
					element = form.elements[j];
					if(element.name == a_sElementId) {
						return element;
					}
				}
			}
		}
		if(document.images[a_sElementId]) {
			return document.images[a_sElementId];
		} else if(document.anchors[a_sElementId]) {
			return document.anchors[a_sElementId];
		} else if (document.layers) { 
		}
	}
	return oElement;
}

function showFormHelp(sHeader, sInfo)
{
	var oHelp = getElement('formHelp');
	var oHelpHeader = getElement('formHelpHeader');
	var oHelpText = getElement('formHelpInfo');
	
	if(sHeader && sInfo)
	{
		oHelpHeader.innerHTML = sHeader;
		oHelpText.innerHTML = sInfo;
		oHelp.style.display = 'block';
	}
	else
		oHelp.style.display = 'none';
}

function hideFormHelp(thisElement)
{
	var oHelp = getElement('formHelp');
	var oHelpToggle = getElement('formHelpMini');
	
	oHelpToggle.innerHTML = '&nbsp;';
	oHelp.className = 'formHelpOff';
	moveHelp(thisElement, oHelp);
}

function toggleFormHelp(thisElement)
{
	var oHelp = getElement('formHelp');
	var oHelpToggle = getElement('formHelpMini');
	if (oHelp.className == 'formHelpOff')
	{
		oHelp.className = 'formHelpOn';
		oHelpToggle.innerHTML = '&ndash;';
		helpToggle = true;
		if (thisElement != null)
			moveHelp(thisElement, oHelp);
	}
	else
	{
		hideFormHelp(thisElement);
		helpToggle = false;
	}
	clearTimeout(helpTimeout);
}

function setFormHelp(thisElement)
{
	if (typeof(thisElement) == 'string')
		thisElement = getElement(thisElement);
	var id = thisElement.id || thisElement.name;
	var oHelp = getElement('formHelp');
	var oHelpToggle = getElement('formHelpMini');
	
	oHelpToggle.href = "javascript:toggleFormHelp(\'" + id + "\');";
	if (id.indexOf('Link') != -1 && !helpToggle)
		toggleFormHelp(id);
	showFormHelp(helptips[id + 'Title'], helptips[id + 'Text']);
	if (helpToggle)
	{
		oHelp.className = 'formHelpOn';
		oHelpToggle.innerHTML = '&ndash;';
	}
	moveHelp(thisElement, oHelp);
	clearTimeout(helpTimeout);
	helpTimeout = setTimeout("hideFormHelp(\'" + id + "\')", Math.pow(oHelp.offsetHeight - 15,1.1) * 100 );
}

function moveHelp(thisElement, oHelp)
{
	if (typeof(thisElement) == 'string')
		thisElement = getElement(thisElement);
	if (typeof(oHelp) == 'string')
		oHelp = getElement(oHelp);
	var y = getTop(thisElement);
	var x = getLeft(thisElement);
	var id = thisElement.id || thisElement.name;
	var anchor = helptips[id + 'Anchor'];
	var theme = getElement("_ctl0_content_tooltip_themeName").value;
	var backgroundStyle = "url(" + theme + "/images/bg_help_box_YLOCXLOC.gif) no-repeat YALIGN XALIGN";
	
	if(isNaN(helptips[id + '_OffsetX']) == false)
		x += parseInt(helptips[id + '_OffsetX']);
	if(isNaN(helptips[id + '_OffsetY']) == false)
		y += parseInt(helptips[id + '_OffsetY']);
	if(anchor) {
		if( anchor.indexOf('top') >= 0 )
		{
			oHelp.style.top = (y - oHelp.offsetHeight) + "px";
			backgroundStyle = backgroundStyle.replace(/YLOC/,'b');
			backgroundStyle = backgroundStyle.replace(/YALIGN/,'bottom');
		}
		else if( anchor.indexOf('middle') >= 0 )
		{
			oHelp.style.top = (y + (thisElement.offsetHeight/2) - (oHelp.offsetHeight/2)) + "px";
			backgroundStyle = backgroundStyle.replace(/YLOC/,'m');
			backgroundStyle = backgroundStyle.replace(/YALIGN/,'center');
		}
		else if( anchor.indexOf('bottom') >= 0 )
		{
			oHelp.style.top = (y + thisElement.offsetHeight) + "px";
			backgroundStyle = backgroundStyle.replace(/YLOC/,'t');
			backgroundStyle = backgroundStyle.replace(/YALIGN/,'top');
		}
		if( anchor.indexOf('left') >= 0 )
		{
			oHelp.style.left = (x - oHelp.offsetWidth) + "px";
			backgroundStyle = backgroundStyle.replace(/XLOC/,'r');
			backgroundStyle = backgroundStyle.replace(/XALIGN/,'right');
		}
		else if( anchor.indexOf('center') >= 0 )
		{
			oHelp.style.left = (x + (thisElement.offsetWidth/2) - (oHelp.offsetWidth/2)) + "px";
			backgroundStyle = backgroundStyle.replace(/XLOC/,'c');
			backgroundStyle = backgroundStyle.replace(/XALIGN/,'center');
		}
		else if( anchor.indexOf('right') >= 0 )
		{
			oHelp.style.left = (x + thisElement.offsetWidth) + "px";
			backgroundStyle = backgroundStyle.replace(/XLOC/,'l');
			backgroundStyle = backgroundStyle.replace(/XALIGN/,'left');
		}
	}
	else
	{
		oHelp.style.top = (y + (thisElement.offsetHeight/2) - (oHelp.offsetHeight/2)) + "px";
		backgroundStyle = backgroundStyle.replace(/YLOC/,'m');
		backgroundStyle = backgroundStyle.replace(/YALIGN/,'center');
		oHelp.style.left = (x + thisElement.offsetWidth) + "px";
		backgroundStyle = backgroundStyle.replace(/XLOC/,'l');
		backgroundStyle = backgroundStyle.replace(/XALIGN/,'left');
	}
	oHelp.style.background = backgroundStyle;
}

function attachHelpTexts()
{	
	for(var i = 0; i < document.forms[0].elements.length; i++) {
		if(document.forms[0].elements[i].getAttribute('id')) 
		{
			var element = document.forms[0].elements[i];
			if(element.onfocus == null)
			    element.onfocus = function (){setFormHelp(this);};
		}
	}
}

ie = document.all ? true : false;
ns4 = document.layers ? true : false;
dom = document.getElementById ? true : false;

var registry = new Array();
var menuon = 'none';
var flashdone = false;

var lastpg = '' + window.innerWidth + ':' + window.innerHeight;


function flashend() {
	flashdone = true;
}

function refreshpage()
{
	if (!flashdone) {
		if ('' + window.innerWidth + ':' + window.innerHeight != lastpg) {
			window.history.go(0);
		}
	} else {
		window.setTimeout('refreshpage()', 1000);
	}
}

function menuItemMouseOver(obj)
{
	var stylecontainer;
	stylecontainer = ns4 ? obj : obj.style;
	stylecontainer.backgroundColor = '#630100';
}

function menuItemMouseOut(obj)
{
	var stylecontainer;
	stylecontainer = ns4 ? obj : obj.style;
	stylecontainer.backgroundColor = '#BE0000';
}

function noMenuRoll(menucode, value)
{
	var trigger;
	var triggername;
	var oldsrc;
	triggername = 'trigger_' + menucode;
	trigger	= dom 
				? document.getElementById(triggername) 
				: ( ie 
					? document.all[triggername] 
					: document.images[triggername] 
				);

	oldsrc = '' + trigger.src;
	if (value == 'over') {
		if ('' + registry[menucode] == 'undefined') {
			registry[menucode] = new Object();
		}
		if (menuon != 'none' && menuon != menucode) {
			registry[menuon].state = 'closing';
			finishHidingMenu(menuon);
		}
		if (oldsrc.search("_ro") == -1) {
			if (menucode == 'hm') {
				trigger.src = oldsrc.replace('_on.jpg', '_ro.jpg');
			} else {
				trigger.src = oldsrc.replace('.jpg', '_ro.jpg');
			}
		}
	} else {
		if (menucode == 'hm') {
			trigger.src = oldsrc.replace('_ro.jpg', '_on.jpg');
		} else {
			trigger.src = oldsrc.replace('_ro.jpg', '.jpg');
		}
	}
}

function moveMenu(menucode)
{
	var widget;
	var widgetname;
	var stylecontainer;
	var windowwidth;
	var offset;
	windowwidth = (ie) ? document.body.clientWidth : window.innerWidth - 14;
	offset = (windowwidth > 750) ? Math.floor((windowwidth - 750) / 2) : 0 ;
	widgetname = 'menu_' + menucode;
	widget	= dom 
				? document.getElementById(widgetname) 
				: ( ie 
					? document.all[widgetname] 
					: document.layers[widgetname] 
				);
	stylecontainer = ns4 ? widget : widget.style;
	if ('' + registry[menucode].left == 'undefined') {
		var tmp = '' + stylecontainer.left;
		tmp = tmp.replace('px', '');
		registry[menucode].left = parseInt(tmp);
	}
	stylecontainer.left = registry[menucode].left + offset;
}

function setVisibility(menucode, value)
{
	var widget;
	var widgetname;
	var trigger;
	var triggername;
	var stylecontainer;
	var oldsrc;
	if (value == 'visible') {
		moveMenu(menucode);
	}
	widgetname = 'menu_' + menucode;
	widget	= dom 
				? document.getElementById(widgetname) 
				: ( ie 
					? document.all[widgetname] 
					: document.layers[widgetname] 
				);
	triggername = 'trigger_' + menucode;
	trigger	= dom 
				? document.getElementById(triggername) 
				: ( ie 
					? document.all[triggername] 
					: document.images[triggername] 
				);
	stylecontainer = ns4 ? widget : widget.style;

	oldsrc = '' + trigger.src;
	if (value == 'visible') {
		if (oldsrc.search("_ro") == -1) {
			if (menucode == 'hm') {
				trigger.src = oldsrc.replace('_on.jpg', '_ro.jpg');
			} else {
				trigger.src = oldsrc.replace('.jpg', '_ro.jpg');
			}
		}
	} else {
		if (menucode == 'hm') {
			trigger.src = oldsrc.replace('_ro.jpg', '_on.jpg');
		} else {
			trigger.src = oldsrc.replace('_ro.jpg', '.jpg');
		}
	}
	stylecontainer.visibility = value;
}

function showMenu(menucode)
{

	if ('' + registry[menucode] == 'undefined') {
		registry[menucode] = new Object();
	}
	if (menuon != 'none' && menuon != menucode) {
		registry[menuon].state = 'closing';
		finishHidingMenu(menuon);
	}
	menuon = menucode;
	registry[menucode].state = 'on';
	setVisibility(menucode, 'visible');
}

function hideMenu(menucode)
{
	if ('' + registry[menucode] == 'undefined') {
		registry[menucode] = new Object();
	}
	registry[menucode].state = 'closing';
	window.setTimeout("finishHidingMenu('" + menucode + "');", 200);
}

function finishHidingMenu(menucode)
{
	if (registry[menucode].state == 'closing') {
		registry[menucode].state = 'off';
		setVisibility(menucode, 'hidden');
	}
}

//This is used by the events
function openWin(destUrl)
{
	var newwin = open(destUrl,"","width=750,height=550,scrollbars=yes,menu=no,status=yes,resizable=yes");	
}

if (ns4) {
	window.onresize = refreshpage;
}
