ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ns6 = (document.getElementById)? true:false


// FORM FUNCTIONS

function find_control(ctrl_name) {
	var ctrl;

	ctrl = document.getElementsByName('in_data['+ctrl_name+']');
	if (ctrl.length==0) ctrl = document.getElementsByName('in_data['+ctrl_name+'][]');
	if (ctrl.length==0) ctrl = document.getElementsByName('form_data['+ctrl_name+']');
	if (ctrl.length==0) ctrl = document.getElementsByName('form_data['+ctrl_name+'][]');
	if (ctrl.length==0) ctrl = document.getElementsByName(ctrl_name);
	if (ctrl.length==0) return undefined;

	return ctrl.item(0);
}

function clear_form(f) {
	if ((typeof f == 'String') || (typeof f == 'string')) f = document.forms[f];
	else if ((f.tagName.toLowerCase() != 'form')) return;

	tmpCollection = f.getElementsByTagName("INPUT")
	for (var i=0; i<tmpCollection.length; i++) {
		if (tmpCollection.item(i).disabled==true) continue;

		if (tmpCollection.item(i).type=="text") tmpCollection.item(i).value='';
		if (tmpCollection.item(i).type=="checkbox") tmpCollection.item(i).checked=false;
	}

	tmpCollection = f.getElementsByTagName("SELECT")
	for (var i=0; i<tmpCollection.length; i++) {
		if (tmpCollection.item(i).disabled==true) continue;

		if (!tmpCollection.item(i).multiple) {
			tmpCollection.item(i).selectedIndex = -1;
		} else {
			multi_options = tmpCollection.item(i).getElementsByTagName("OPTION");
			for (var j=0; j<multi_options.length; j++) {
				multi_options.item(j).selected = false;
			}
		}
	}

}


// changes the method temporarily to POST, submits, and then restores method
// to whatever it has been. Used in GET forms which occasionally need to submit
// stuff with side effects
function submitFormByPost(o_form) {
	var old_method = o_form.method;

	o_form.method = 'post';
	o_form.submit();
	o_form.method = old_method;
}


function postback_command(form_name, command, parameter) {
	var frm = document.forms[form_name];

	if (frm.tagName=='FORM') {
		check_postback_inputs(frm);
		var item;
		for (var i=0; i<frm.elements.length; i++) {
			item = frm.elements.item(i);
			if (item.name=='postback_command') item.value = command;
			if (item.name=='postback_parameter') item.value = parameter;
		}
		frm.submit();
	}
}

/**
This one receives an object of any type, finds the form wihch contains it,
updates postback_command and postback_parameter (creating them if needed)
and submits the form.
 */
function postback_command_2(obj, command, parameter) {
	while (obj.tagName!='FORM' && obj.tagName!='BODY') {
		obj = obj.parentNode;
	}

	if (obj.tagName=='FORM') {
		check_postback_inputs(obj);
		var item;
		for (var i=0; i<obj.elements.length; i++) {
			item = obj.elements.item(i);
			if (item.name=='postback_command') item.value = command;
			if (item.name=='postback_parameter') item.value = parameter;
		}
		obj.submit();
	}
}

/**
 * Kato natisnesh enter da submitva formata bez da natiska parvia "submit" buton
 */
function check_press_enter(ctrl, event) {
	if (event.keyCode!=10 && event.keyCode!=13) return true;

	ctrl.form.submit();

	event.returnValue = false;
	event.cancelBubble = true;
	if (event.preventDefault) event.preventDefault();
	return false;

}

function check_postback_inputs(form_obj) {
	if (getElementByName(form_obj, 'postback_command')==null) {
		addHiddenInputField(form_obj, 'postback_command', '');
	}
	if (getElementByName(form_obj, 'postback_parameter')==null) {
		addHiddenInputField(form_obj, 'postback_parameter', '');
	}
}

function addHiddenInputField(formElement, fieldName, fieldValue) {
	var inputElement = document.createElement("input");
	inputElement.setAttributeNode(createHtmlAttribute("type", "hidden"));
	inputElement.setAttributeNode(createHtmlAttribute("name", fieldName));
	inputElement.setAttributeNode(createHtmlAttribute("value", fieldValue));
	formElement.appendChild(inputElement);
}

function change_val_and_submit(ctrl_name, value) {
	var ctrl = find_control(ctrl_name);
	ctrl.value = value;
	displaySubmitPanel();
	ctrl.form.submit();
}

// o_form can be any element contained in a form ()
function submit_postback_form(form_child_object) {
	var form = form_child_object;
	while (form.tagName!='FORM' && form.tagName!='BODY') {
		form = form.parentNode;
	}

	if (form.submit) {
		displaySubmitPanel(document);
		form.submit();
	}
}

function formSubmit(o_doc) {
	if (o_doc.forms==undefined) return 0;
	if (o_doc.forms.length==0) return 0;

	var o_form = o_doc.forms.item(0);

	if (o_form.submit) {
		displaySubmitPanel(o_doc);
		o_form.submit();
	}
}

function textarea_auto_rows(ctrl, max_height, additional_pixels) {
	ctrl.style.height = '1px';
	if (max_height<(ctrl.scrollHeight+additional_pixels))
		ctrl.style.height = max_height + 'px';
	else
		ctrl.style.height = ctrl.scrollHeight + additional_pixels + 'px';
}

function select_options(select_obj, namelist) {
	namelist = namelist.split(',');
	for (var i=0; i<select_obj.options.length; i++) {
		select_obj.options[i].selected = in_array(select_obj.options[i].value, namelist);
	}
}

function get_selected_option(select_obj) {
	var i = 0;

	for (i=0; i<select_obj.options.length; i++) {
		if (select_obj.options.item(i).selected) return select_obj.options.item(i);
	}

	return null;
}

function preview_html(input_name) {
	var ctrl = find_control(input_name);

	if (!ctrl) {
		alert('Invalid control name');
		return false;
	}

	var val = ctrl.value;

	var wnd = window.open('', '', 'height=400,width=500,resizable=yes,scrollbars=yes');

	if (!wnd) {
		alert('Popup blocked! You need to disable your popup blocker.');
	}

	wnd.document.write(val);
	wnd.document.close();
}

function focus_control(ctrl_name) {
	var ctrl = find_control(ctrl_name);
	if (ctrl) ctrl.focus();
	return false;
}

function setFormControlsDisabled(form_obj, value) {
	for (var i=0; i<form_obj.elements.length; i++) {
		if (form_obj.elements[i].tagName=='FIELDSET') continue;
		if (form_obj.elements[i].tagName=='INPUT' && form_obj.elements[i].type=='hidden') continue;
		form_obj.elements[i].disabled=value;
		//alert(form_obj.elements[i].tagName);
	}
}

function getElementByName(form, name) {
	var els = form.elements;
	var item;
	for (var i=0; i<els.length; i++) {
		item = els.item(i);
		if (item.name==name) return item;
	}

	return null;
}




// MISC


function popup_wnd(url, width, height){
	var wnd = window.open(url, 'popup_wnd', 'height='+height+',width='+width+',scrollbars=1,resizable=1,menubar=0,toolbar=0,status=1,location=0,directories=0');
	return wnd;
}

function popup_wnd2(f,w,h,name) {
	var wnd = window.open(f, name, 'height='+h+',width='+w+',scrollbars=1,resizable=1,menubar=0,toolbar=0,status=1,location=0,directories=0,left=0,top=0');
	wnd.focus();
	return wnd;
}

function show_html(text,w,h) {
	var wnd = window.open("", 'show_html', 'height='+h+',width='+w+',scrollbars=1,resizable=1,menubar=0,toolbar=0,status=1,location=0,directories=0,left=0,top=0');
	wnd.document.write("<head><title>Steel Business Briefing</title></head><body>"+text);
	wnd.focus();
	return wnd;
}

function MM_findObj(n, d) { //v3.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(var i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function itti_change_language(lang) {
	var hrf = location.href;

	switch (lang) {
		case 'en':
			lang = ''
			break;
		case 'zh':
			lang = 'zh/'
			break;
		case 'pt':
			lang = 'pt/'
			break;
		case 'es':
			lang = 'es/'
			break;
		case 'tr':
			lang = 'tr/'
			break;
		case 'it':
			lang = 'it/'
			break;
		case 'de':
			lang = 'de/'
			break;
		case 'ar':
			lang = 'ar/'
			break;
		case 'pl':
			lang = 'pl/'
			break;
		case 'us':
			lang = 'us/'
			break;
		default:
			lang = ''
	}

	hrf = hrf.replace(/^(http(s?)\:\/\/[^\/]+\/(corus\/|ssab\/|ssabtunnplat\/|ssaboxelosund\/|tibnor\/|aramco\/)?)(zh\/|pt\/|es\/|tr\/|it\/|de\/|ar\/|pl\/|us\/)?/i, "$1"+lang);
	location.href = hrf;
}


function btn_over(sender) {
	if (sender.className=='menuitem_up') sender.className = 'menuitem_over';
}


function btn_out(sender) {
	if (sender.className=='menuitem_over') sender.className = 'menuitem_up';
}


var subnav_timeout = 0;
var subsubnav_timeout = 0;


function show_subnav(key) {
	if (key==0) return 0;

	clearTimeout(subnav_timeout);

	var subnav_divs = document.getElementById('top_subnav').childNodes;

	for (var i=0; i<subnav_divs.length; i++) {
		if (subnav_divs.item(i).className=='over') subnav_divs.item(i).className = 'up';
	}

	hide_all_subsubnavs();

	var elem = document.getElementById('subnav_'+key);
	var parentbutton = document.getElementById('nav_'+key);

	elem.className = 'over';
	calculateSubnavWidth(elem, key);

	var target_left = Math.round(
		parentbutton.offsetLeft + parentbutton.offsetWidth/2 - elem.offsetWidth/2
	);

	if (target_left<3) target_left = 3;

	if (target_left + elem.offsetWidth > elem.parentNode.clientWidth - 3)
		target_left = elem.parentNode.clientWidth - elem.offsetWidth - 3;

	elem.style.left = target_left + 'px';

}


function hide_subnav(key) {
	subnav_timeout = setTimeout(
		"if ("+key+">0) document.getElementById('subnav_" + key + "').className = 'up';" +
		"if ("+top_nav_selected_key+">0) document.getElementById('subnav_" + top_nav_selected_key + "').className = 'over';" +
		"hide_all_subsubnavs();",
		500);
}


function show_subsubnav(sender, key) {
	if (key==0) return 0;

	clearTimeout(subsubnav_timeout);
	hide_all_subsubnavs();

	var div = document.getElementById('subsubnav_'+key);
	div.style.display = 'block';
	div.style.position = 'absolute';
	div.style.left = sender.offsetLeft + 'px';
	div.style.top = sender.offsetTop+sender.offsetHeight+1 + 'px';
	plot_iframe_overlay(div);
}


function hide_all_subsubnavs() {
	var divs = document.getElementsByTagName('DIV');

	for (var i=0; i<divs.length; i++) {
		var elem = divs.item(i);
		if (elem.id.search(/subsubnav_[0-9]+/)!=-1) elem.style.display = 'none';
	}
}


function hide_subsubnav(key) {
	subsubnav_timeout = setTimeout(
		"if ("+key+">0) document.getElementById('subsubnav_" + key + "').style.display = 'none';",
		500);
}


var subnav_widths = [];

function calculateSubnavWidth(elem, key) {
	if (subnav_widths[key]>0) return 0;

	var current = elem.offsetWidth;
	var offset = 512;

	elem.style.width = '1px';
	current = 1;

	while (offset>1) {
		if (elem.offsetHeight>20) {
			current += offset;
		} else {
			current -= offset;
			if (current<1) current = 1;
		}
		elem.style.width = current + 'px';
		offset = Math.round(offset/2);
	}

	while (elem.offsetHeight>20) {
		current++;
		elem.style.width = current + 'px';
	}

	subnav_widths[key] = current;
}

function update_input_classes() {
	var els = document.getElementsByTagName('INPUT');
	var el;
	for (var i=0; i<els.length; i++) {
		el = els.item(i);
		if (el.className=='' && (el.type=='text' || el.type=='password' || el.type=='file')) {
			el.className = 'input_text';
		}
	}
}

function getXMLHttpRequestObject() {
	var xmlhttp;

	/*@cc_on
	@if (@_jscript_version >= 5)
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				xmlhttp = false;
			}
		}
	@else
	xmlhttp = false;
	@end @*/

	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}

	return xmlhttp;
}

function getBoundingBox(el) {
	var box = {top:0, left:0, right:0, bottom:0, height:0, width:0}
	var scroll_x = Math.max(
		document.body.scrollLeft, document.documentElement.scrollLeft);
	var scroll_y = Math.max(
		document.body.scrollTop, document.documentElement.scrollTop);

	if (document.getBoxObjectFor) { // firefox
		var r = document.getBoxObjectFor(el);
		box = {top:r.y, left:r.x, right:r.x+r.width, bottom:r.y+r.height, height:r.height, width:r.width};
	} else if (el.getBoundingClientRect) { // IE
		var r = el.getBoundingClientRect();
		box = {top:r.top+scroll_y, left:r.left+scroll_x, right:r.right+scroll_x, bottom:r.bottom+scroll_y, height:r.bottom-r.top, width:r.right-r.left};
	}

	return box;
}


/* ########## CLASS KeystrokeHandler ########## */

function KeystrokeHandler() {
}

KeystrokeHandler.containers = new Array(0);

KeystrokeHandler.targets = new Array(0);

KeystrokeHandler.addContainer = function(container_id, target_button_id) {
	KeystrokeHandler.containers[KeystrokeHandler.containers.length] = container_id;
	KeystrokeHandler.targets[KeystrokeHandler.targets.length] = target_button_id;

	// Attach the handler to the container
	var cont = document.getElementById(container_id);
	inputs = cont.getElementsByTagName('input');

	for (var i=0; i<inputs.length; i++) {
		if (inputs[i].type!='text' && inputs[i].type!='password') continue;
		inputs[i].KeystrokeHandlerID = cont.id;
		addEvent(inputs[i], 'keydown', KeystrokeHandler.directHandler);
	}
}

KeystrokeHandler.directHandler = function(e) {
	if (e.keyCode==13 || e.keyCode==10) {
		e.returnValue = false;
		e.cancelBubble = true;
		KeystrokeHandler.handler(this.KeystrokeHandlerID);
		return false;
	}
}

KeystrokeHandler.handler = function(source_id) {
	var key = -1;

	for (var i=0; i<KeystrokeHandler.containers.length; i++) {
		if (KeystrokeHandler.containers[i]==source_id) key = i;
	}

	if (key==-1) return 0;

	var btn = document.getElementById(KeystrokeHandler.targets[key]);

	if (KeystrokeHandler.targets[key]!='' && btn!=undefined) {
		if (btn.click) {
			btn.click();
		} else if (btn.form) {
			submitForm(btn.form, btn.name);
		}
	} else {
		var cont = document.getElementById(source_id);

		if (!cont.getElementsByTagName) return 0;
		var btns = cont.getElementsByTagName('input');

		for (var i=0; i<btns.length; i++) {
			if (btns[i].type=='submit') {
				if (btns[i].click) {
					btns[i].click();
				} else if (btns[i].form) {
					submitForm(btns[i].form, btns[i].name);
				}
				break;
			}
		}

	}
}

/* ########## ENDCLASS KeystrokeHandler ########## */

var submitPanelDiv;

function displaySubmitPanel() {
	var doc = arguments[0];

	try {
		if (doc.body==undefined) doc = document;
	} catch(err) {
		doc = document;
	}

	if (submitPanelDiv==undefined) {
		submitPanelDiv = doc.createElement('div');
		doc.body.appendChild(submitPanelDiv);
		submitPanelDiv.className = 'postback_panel_container';
		submitPanelDiv.innerHTML = '<div class="postback_panel"><table style="height: 100%; width: 100%;" cellpadding="0" cellspacing="10"><tr><td><img src="/i/loading.gif"></td></tr><tr><td>Loading, please stand by...</td></tr></table></div>';
	}

	plot_iframe_overlay(submitPanelDiv);

	submitPanelDiv.style.visibility = '';
}

function hideSubmitPanel() {
	if (submitPanelDiv!=undefined) submitPanelDiv.style.visibility = 'hidden';
}

function createHtmlAttribute(name, value) {
	var attribute = document.createAttribute(name);
	attribute.nodeValue = value;
	return attribute;
}

function al_preview_toggle(key) {
	var c = document.getElementById('al_preview_'+key);
	var c2 = document.getElementById('al_preview_control_'+key);
	if (c.style.display=='') {
		slide_up(c, 1);
		c2.src = '/i/article_cross.gif';
	} else {
		slide_down(c, 1);
		c2.src = '/i/article_cross_2.gif';
	}
}


var slide_down_container;
var slide_down_interval;

function slide_down(cont, interval) {
	cont.style.height = '0px';
	cont.style.display = '';
	slide_down_container = cont;
	window.clearInterval(slide_down_interval);
	window.clearInterval(slide_up_interval);
	if (cont.offsetHeight>0) return 0;
	slide_down_interval = window.setInterval(slide_down_cb, interval);
}

function slide_down_cb() {
	var diff = slide_down_container.scrollHeight - slide_down_container.offsetHeight;
	if (diff>0) {
		slide_down_container.style.height = Math.ceil(slide_down_container.offsetHeight + diff/3) + 'px';
	} else {
		window.clearInterval(slide_down_interval);
	}
}


var slide_up_container;
var slide_up_interval;

function slide_up(cont, interval) {
	slide_up_container = cont;
	window.clearInterval(slide_down_interval);
	window.clearInterval(slide_up_interval);
	slide_up_interval = window.setInterval(slide_up_cb, interval);
}

function slide_up_cb() {
	var target = Math.floor(slide_up_container.offsetHeight*2/3);
	if (target > 0) {
		slide_up_container.style.height = target + 'px';
	} else {
		slide_up_container.style.height = '0px';
		slide_up_container.style.display = 'none';
		window.clearInterval(slide_up_interval);
	}
}


function plot_iframe_overlay(obj) {

	if (!ie4) return 0; // don't need this if the browser is not IE!

	if (!obj) return 0;

	var iframe_layer;

	chnds = obj.childNodes;

	for (var i=0; i<chnds.length; i++) {
		if (chnds[i].id==(obj.id+'_iframe')) {
			iframe_layer = chnds[i];
			break;
		}
	}

	if (!iframe_layer) {
		iframe_layer = document.createElement("IFRAME");
		iframe_layer.id = obj.id+"_iframe";
		iframe_layer.style.position="absolute";
		iframe_layer.style.top=0;
		iframe_layer.style.left=0;
		iframe_layer.style.zIndex=-1;
		iframe_layer.frameBorder="No";
		iframe_layer.scrolling="No";
		iframe_layer.style.pixelWidth = obj.offsetWidth;
		iframe_layer.style.pixelHeight = obj.offsetHeight;

		obj.appendChild(iframe_layer);
	}

	return 0;
}

function hist_tables_scroll() {
	if (arguments[0] && arguments[0].getElementsByTagName) {
		var coll = arguments[0].getElementsByTagName("TABLE");
	} else {
		var coll = document.body.getElementsByTagName("TABLE");
	}

	for (var i=0; i<coll.length; i++) {
		if (coll[i].className!='hist_tbl') continue;

		// divs with class inner_container
		var divs = coll[i].getElementsByTagName('DIV');

		for (var j=0; j<divs.length; j++) {
			if (divs[j].className=='inner_container') {
				divs[j].scrollLeft = 2000;
			}
		}
	}
}

function preview_briefing_intro(ctrl_name){
	var ctrl = document.forms[0].elements[ctrl_name];
	var id = ctrl.options[ctrl.selectedIndex].value;
	window.open('/be/emails/email_header_footer_view.php?id='+id, 'preview_briefing_intro', 'height=400,width=500,scrollbars=1,resizable=1,menubar=0,toolbar0,status=1,location=0,directories=0,left=0,top=0');
}

function preview_briefing_intro_marketing(ctrl_name){
	var ctrl = document.forms[0].elements[ctrl_name];
	var id = ctrl.options[ctrl.selectedIndex].value;
	window.open('/be/emails/email_marketing_view.php?id='+id, 'preview_briefing_intro', 'height=400,width=500,scrollbars=1,resizable=1,menubar=0,toolbar0,status=1,location=0,directories=0,left=0,top=0');
}

function PrintIt() {
	if (ie4 || ns4 || ns6) {
		self.print();
	} else {
		alert('Now right/apple click and choose the \'print\' option.')
	}
}

function in_array(value, array) {
	for (var i=0; i<array.length; i++) {
		if (array[i]==value) return true;
	}
	return false;
}

function URLEncode(str) {
	var SAFECHARS = "0123456789" +          // Numeric
	"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +  // Alphabetic
	"abcdefghijklmnopqrstuvwxyz" +
	"-_.!~*'()";                    // RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";
	var encoded = "";

	for (var i=0; i<str.length; i++) {
		var ch = str.charAt(i);
		if (ch == " ") {
			encoded += "+"; // x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
			encoded += ch;
		} else {
			var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				alert( "Unicode Character '"
					+ ch
					+ "' cannot be encoded using standard URL encoding.\n"
					+ "(URL encoding only supports 8-bit characters.)\n"
					+ "A space (+) will be substituted.");
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};

function URLDecode(str) {
	// Replace + with ' '
	// Replace %xx with equivalent character
	// Put [ERROR] in output if %xx is invalid.
	var HEXCHARS = "0123456789ABCDEFabcdef";
	var plaintext = "";
	var i = 0;

	while (i < str.length) {
		var ch = str.charAt(i);
		if (ch == "+") {
			plaintext += " ";
			i++;
		} else if (ch == "%") {
			if (i < (str.length-2)
			&& HEXCHARS.indexOf(str.charAt(i+1)) != -1
			&& HEXCHARS.indexOf(str.charAt(i+2)) != -1 ) {
				plaintext += unescape( str.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + str.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
			plaintext += ch;
			i++;
		}
	} // while

	return plaintext;
};


function checkTableWidth(container_id) {
	var cont = document.getElementById('table_container');
	var tbl = cont.childNodes(0);
	tbl.width = '1%';
	var width = tbl.offsetWidth;
	tbl.width = '';

	if (width>340) {
		alert('   Error!\n\nThe table is too wide and will probably corrupt the PDF layout!\n\n' + width + 'px, should be no more than 340px');
		return false;
	} else {
		return true;
	}
};


function classNameAdd(obj, cls) {
	var classes = obj.className.split(' ');
	for (var i=0; i<classes.length; i++) {
		if (classes[i]==cls) return;
	}
	classes[classes.length] = cls;
	obj.className = classes.join(' ');
};


function classNameRemove(obj, cls) {
	var classes = obj.className.split(' ');

	for (var i=0; i<classes.length; i++) {
		if (classes[i]==cls) {
			classes.splice(i, 1);
		}
	}

	obj.className = classes.join(' ');
};


function switchPanelsDisplay(panel1_id, panel2_id) {
	var panel_1 = document.getElementById(panel1_id);
	var panel_2 = document.getElementById(panel2_id);

	if (panel_1.style.display == 'none') {
		panel_1.style.display = '';
		panel_2.style.display = 'none';
	} else {
		panel_1.style.display = 'none';
		panel_2.style.display = '';
	}
}


var itti_form_state = Array();

function itti_InitFormState(form) {
	var f = form.elements;
	var tmp;
	for (var i=0; i<f.length; i++) {
		if ((f[i].type == 'text') || (f[i].type == 'hidden') || (f[i].type == 'password') || (f[i].type == 'textarea')) {
			itti_form_state[i] = f[i].value;
		} else if ((f[i].type == 'checkbox') || (f[i].type == 'radio')) {
			itti_form_state[i] = f[i].checked;
		} else if (f[i].type == 'select-one') {
			itti_form_state[i] = f[i].selectedIndex;
		} else if (f[i].type == 'select-multiple') {
			tmp = "";
			for (j=0; j<f[i].options.length; j++)
				if (f[i].options[j].selected) tmp += j+",";
			itti_form_state[i] = tmp;
		}
	}
}

function itti_CheckFormChange(form) {
	var f = form.elements;
	var tmp;
	for (var i=0; i<f.length; i++) {
		if ((f[i].type == 'text') || (f[i].type == 'hidden') || (f[i].type == 'password') || (f[i].type == 'textarea')) {
			if (itti_form_state[i] != f[i].value) return true;
		} else if ((f[i].type == 'checkbox') || (f[i].type == 'radio')) {
			if (itti_form_state[i] != f[i].checked) return true;
		} else if (f[i].type == 'select-one') {
			if (itti_form_state[i] != f[i].selectedIndex) return true;
		} else if (f[i].type == 'select-multiple') {
			tmp = "";
			for (j=0; j<f[i].options.length; j++)
				if (f[i].options[j].selected) tmp += j+",";
			if (itti_form_state[i] != tmp) return true;
		}
	}
	return false;
}

function itti_LeaveFormConfirm(form) {
	if (itti_CheckFormChange(form)!=false) {
		var res = confirm('Are you sure you want to navigate away from this page?\n\nThe record is not saved!\n\nPress OK to continue, or Cancel to stay on the current page.');
		if (!res) hideSubmitPanel();
		return res;
	} else {
		return true;
	}
}
