function incrementNumberFieldValue(field) 
{
  if(isNaN(field.value))
  {
    field.value = '2';
  }
  else
  {
    result = Number(field.value) + 1;
    if(result > 9999) field.value = 9999;
    else field.value = result;
  }
}

function decrementNumberFieldValueWithZero(field) 
{
  if(isNaN(field.value))
  {
    field.value = '0';
  }
  else
  {
    result = (Number(field.value)) - 1;
    if(result > 0) field.value = result;
    else field.value = 0;
  }
}

function decrementNumberFieldValue(field) 
{
  if(isNaN(field.value))
  {
    field.value = '1';
  }
  else
  {
    result = (Number(field.value)) - 1;
    if(result > 1) field.value = result;
    else field.value = 1;
  }
}

// -----------------------------------------------------------------------------

function removeClass(obj, className) {
	var classNames = obj.className.split(" ");
	var result = [];
	for (var i = 0; i < classNames.length; i++) {
		if(classNames[i] != "" && classNames[i] != className)
			result[result.length] = classNames[i];
	}
	obj.className = result.join(" ");
}

function addClass(obj, className) {
	obj.className += " " + className;
}

var FormTools = new Object();

FormTools.disableFormField = function(_field, _value) {
	var fields = new Array();
	if ("type" in _field) {
		fields.push(_field);
	} else
	if ("length" in _field) {
		for (var i=0; i < _field.length; i++) {
			fields.push(_field[i]);
		}
	}
	for (var i=0; i < fields.length; i++) {
		var field = fields[i];
		if (typeof _value != "undefined") {
			if(field.type == "radio" || field.type == "checkbox") {
				field.checked = field.value == _value;
			} else
			{
				field.value = _value;
			}
		}
		field.disabled = true;
		addClass(field, "forms_field_disabled");
	}
}

FormTools.enableFormField = function(_field) {
	var fields = new Array();
	if ("type" in _field) {
		fields.push(_field);
	} else
	if ("length" in _field) {
		for (var i=0; i < _field.length; i++) {
			fields.push(_field[i]);
		}
	}
	for (var i=0; i < fields.length; i++) {
		var field = fields[i];
		field.disabled = false;
		removeClass(field, "forms_field_disabled");
	}
}

FormTools.disableImage = function(obj) {
	if (!obj.disabled) {
		var src = obj.src;
		if (src.indexOf("?") > -1) {
			src = src.substring(0, src.indexOf("?"));
		}
		var image = src.substring(0, src.lastIndexOf("."));
		var image_ext = src.substring(src.lastIndexOf("."));
		obj.src = image + "_disabled" + image_ext;
		obj.onclick_disabled = obj.onclick;
		obj.onclick = null;
		obj.disabled = true;
	}
}

FormTools.enableImage = function(obj) {
	if (typeof obj.disabled == "undefined") {
		obj.disabled = false;
	}
	if (obj.disabled) {
		var image = obj.src.substring(0, obj.src.lastIndexOf("_"));
		var image_ext = obj.src.substring(obj.src.lastIndexOf("."));
		obj.src = image + image_ext;
		obj.onclick = obj.onclick_disabled;
		obj.onclick_disabled = null;
		obj.disabled = false;
	}
}



// -----------------------------------------------------------------------------

function TabManager () {}

TabManager.tabSets = {};

TabManager.showTab = function (tabSetName, index) {
	if (typeof TabManager.tabSets[tabSetName] == "undefined") {
		TabManager.tabSets[tabSetName] = 0;
	}
	var activeTab_node = document.getElementById("tab_" + tabSetName + "_" + TabManager.tabSets[tabSetName]);
	var activeTabLink_node = document.getElementById("tabLink_" + tabSetName + "_" + TabManager.tabSets[tabSetName]);
	/**/
	addClass(activeTab_node, "hidden");
	activeTab_node = document.getElementById("tab_" + tabSetName + "_" + index);
	removeClass(activeTab_node, "hidden");
	/**/
	removeClass(activeTabLink_node, "active");
	activeTabLink_node = document.getElementById("tabLink_" + tabSetName + "_" + index);
	addClass(activeTabLink_node, "active");
	/**/
	TabManager.tabSets[tabSetName] = index;
}

// -----------------------------------------------------------------------------

var selectsOnPage = new Array();

function showMainMenu(index) {
	var node = document.getElementById("menu_main_" + index);
	var fnode = document.getElementById("mainMenuUnderlay");
	if (node != null ) {
		if (fnode != null) {
			node.parentNode.insertBefore(fnode, node);
			fnode.style.width = node.offsetWidth + "px";
			fnode.style.height = node.offsetHeight + "px";
			fnode.style.visibility = "visible";
		}
		node.style.visibility = "visible";
	}
//	revertSelects('hide');
}

function hideMainMenu(index) {
	var node = document.getElementById("menu_main_" + index);
	var fnode = document.getElementById("mainMenuUnderlay");
	if (fnode != null) {
		fnode.style.visibility = "hidden";
	}
	if (node != null ) {
		node.style.visibility = "hidden";
	}
//	revertSelects('show');
}

function revertSelects(showhide, list) {
	if(typeof list == "undefined") list = selectsOnPage;
	var _sw = (showhide == 'hide') ? 'hidden' : 'visible';
	for (i = 0; i < list.length; i++) 
		list[i].style.visibility = _sw;
}

// -----------------------------------------------------------------------------

function common_activateCover(_cover, _coverMessage, layoutC) {
	if (typeof _cover == "undefined") _cover = "cover"; 
	if (typeof _coverMessage == "undefined") _coverMessage = "coverMessage"; 
	if (typeof _layoutC == "undefined") _layoutC = "layoutC"; 
	var cover = document.getElementById(_cover);
	var msgbox = document.getElementById(_coverMessage);
	var layoutc = document.getElementById(_layoutC);

	cover.style.display = 'block';
	cover.style.width = parseInt(layoutc.offsetWidth)+'px';
	cover.style.height = parseInt(layoutc.offsetHeight)+'px';
	if (msgbox != null) {
		msgbox.style.display = 'block';
		msgbox.style.marginTop = (document.documentElement.scrollTop + 250) + 'px';
		msgbox.style.marginLeft = (parseInt(cover.offsetWidth)-parseInt(msgbox.offsetWidth))/2+'px';
	}
	var selects = document.getElementsByTagName("select");
	for (var i=0; i < selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}

function common_deactivateCover(_cover, _coverMessage) {
	if (typeof _cover == "undefined") _cover = "cover"; 
	if (typeof _coverMessage == "undefined") _coverMessage = "coverMessage";
	var cover = document.getElementById(_cover);
	var msgbox = document.getElementById(_coverMessage);
	cover.style.display = 'none';
 	if (msgbox != null) {
 		msgbox.style.display = 'none';
 	}
};

function disableCheckedOptionAction(form, optionName, actionName) {
	for (var i=0; i < form.elements.length; i++) {
		var el = form.elements[i];
		if (el.type == "radio" && el.name == optionName && el.checked) {
			el[actionName] = null;
		}
	}
}

// -----------------------------------------------------------------------------

function saveEditors() {}

function removeEditors() {}

function formValidatorsValidateChecked(form, validatorParameters, messageKeys, messageKey) {
	var fieldName = validatorParameters['field'];

	var fieldPresent = eval('form.' + fieldName);
	if(!fieldPresent) {	
		return 'OK'; 
	}

	var checked = eval('form.' + fieldName + '.checked');

	if (checked == true) {
		return 'OK';	
	}
	return formValidatorsMessageFormat(messageKeys['pleasecheckterms'], []);
}

function formValidatorsValidateChoosen(form, validatorParameters, messageKeys, messageKey) {
	var fieldName = validatorParameters['field'];
	var messageKey = validatorParameters['message'];
	var fieldPresent = eval('form.' + fieldName);
	if(!fieldPresent) {	
		return 'OK'; 
	}
	var length = eval('form.' + fieldName + '.length');
	for(var i=0; i<length; i++) {
		if ((eval('form.' + fieldName + '['+i+'].value')=='true') && (eval('form.' + fieldName + '['+i+'].checked')==true)) {
			return 'OK';
		}
	}
	return formValidatorsMessageFormat(messageKeys[messageKey], []);
}


function formValidatorsFieldNotEmptyIf(form, validatorParameters, messageKeys, messageKey) {
	var fieldName = validatorParameters['field']
	var condFieldName = validatorParameters['conditionField']
	
	var condField = eval('form.'+condFieldName+'.checked');
	var value = eval('form.'+fieldName+'.value');
	
	if (condField == true && (value==null || value=='')) {
		return formValidatorsMessageFormat(messageKeys['emailnotempty'], []);
	}
	return 'OK';
}

function formValidatorsFilenameEmpty(form, validatorParameters, messageKeys, messageKey) {
	if ((document.forms['mypages_welcome_info'].picture.value != null && 
		document.forms['mypages_welcome_info'].picture.value != '') && 
		(document.forms['mypages_welcome_info'].upload.value == 'save')) {
		return formValidatorsMessageFormat(messageKeys[messageKey], []);
	}
		
	return 'OK';
}

/* window.onload */

var onLoadActions = [];
var onClickActions = [];

function window_onload(e) {
	for (var i=0; i < onLoadActions.length; i++) {
		eval(onLoadActions[i]);
	}
}

function document_onclick(e) {
	for (var i=0; i < onClickActions.length; i++) {
		eval(onClickActions[i]);
	}
}

function amway_ajax (url,callback) {
    var connector = null;
    if (window.XMLHttpRequest) {
        connector = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        connector = new ActiveXObject("Microsoft.XMLHTTP");
    }
    var t = new Date().getTime();

    connector.open("GET", encodeURI(url) +"&_t=" +t , true);
    connector.onreadystatechange = function() {
        if (connector.readyState == 4) {
            if (connector.status == 200) {
                var responseText = connector.responseText;
                callback(responseText);
            } else {
                throw("AJAX error, unexpected status: " + connector.status);
            }
        } 
    }
    connector.send(null);
}

function formValidatorsValidateAcceptTerms(form, validatorParameters, messageKeys, messageKey) {
	var fieldName = validatorParameters['field'];
	var key = validatorParameters['message'];

	var fieldPresent = eval('form.' + fieldName);
	if(!fieldPresent) {	
		return 'OK'; 
	}
	var length = eval('form.' + fieldName + '.length');
	for(var i=0; i<length; i++) {
		if ((eval('form.' + fieldName + '['+i+'].value')=='true') && (eval('form.' + fieldName + '['+i+'].checked')==true)) {
			return 'OK';
		}
	}
	return formValidatorsMessageFormat(messageKeys[key], []);
}

function formValidatorValidateAllFilledOrEmptyFields(form, validatorParameters, messageKeys, messageKey) {
  	var fields = validatorParameters['fields'];
	var key = validatorParameters['message'];
	var fieldsAry = fields.split(",");
	var empty = 0;
	for(i = 0; i < fieldsAry.length ; i++) {
	  var fieldName = fieldsAry[i];
	  var fieldPresent = eval('form.' + fieldName);
	  if(fieldPresent) {	
	    var length = eval('form.' + fieldName + '.value').length;
	    if(length == 0) {
	      empty++;
	    }
	  }  else {
	    empty++;
	  }
	}

	if(empty != 0 && empty != fieldsAry.length) {
	  return formValidatorsMessageFormat(messageKeys[key], []);
	} 
	return "OK";
}

function formValidatorsValidateLowerCaseLogin(form, validatorParameters, messageKeys, messageKey) {
	var key = validatorParameters['message'];
	var fieldName = validatorParameters['field'];

	var fieldPresent = eval('form.' + fieldName);
	if(!fieldPresent) {	
		return 'OK'; 
	}

	var value = fieldPresent.value;
	var lowerCaseValue =value.toLowerCase(); 

	if(value == lowerCaseValue) {
	  return "OK";
	}
	
	fieldPresent.value = lowerCaseValue;

	return formValidatorsMessageFormat(messageKeys[key], []);
}

/**
 * Create new cookie with given name or add value to existing cookie after comma. 
 */
function addToCookie(cookieName, value) {
	myCookieValue = "";
	if (document.cookie.length > 0) {
	  	c_start=document.cookie.indexOf(cookieName + "=");
		if (c_start!=-1) { 
			c_start = c_start + cookieName.length + 1; 
			c_end = document.cookie.indexOf(";", c_start);
			if(c_end == -1) {
				c_end = document.cookie.length;
			}
			myCookieValue = unescape(document.cookie.substring(c_start, c_end));
	    } 	
	}
	if(myCookieValue == "") { 
		myCookieValue = value;
	} else {
		myCookieValue += "," + value;
	}
	var exdate=new Date();
	exdate.setDate(exdate.getDate() + 365);
	document.cookie = cookieName + "=" + escape(myCookieValue) + ";expires="+exdate.toGMTString();
}

/////////// Functions used by "Homepage Ad Layer" banner - BEGIN //////////////////

function showHomepageLayerAdDelayed() {
	setTimeout(showHomepageLayerAd, 1000);
}
function showHomepageLayerAdDelayed() {
   var layoutc = document.getElementById('layoutC');
   var cover = document.getElementById('opacityBox');
   var cart_box = document.getElementById('banner_ad_layer_div');
   cover.style.display = "block";
   cart_box.style.display = "block";

   cover.style.width = parseInt(layoutc.offsetWidth)+'px';
   cover.style.height = parseInt(layoutc.offsetHeight)+'px';
}

/////////// Functions used by "Homepage Ad Layer" banner - END //////////////////

window.onload = window_onload;
document.onclick = document_onclick;

