/*common funcs*/

var verych_invalid_field = null;

function validateEmails(frm)
{
	var items = $('.email');
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		upPickInvalidItem($(items[item_iter]));
		if(!isEmail(items[item_iter]))
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function validateUKZips(frm)
{
	var items = $('.ukzip');
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		upPickInvalidItem($(items[item_iter]));
		if(!isUKZip(items[item_iter]))
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function validateNumeric(frm)
{
	var items = $('.numeric');
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		upPickInvalidItem($(items[item_iter]));
		if(!isNumeric(items[item_iter]))
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function validateHiddenNumeric(frm, contId)
{
	var itemsSelector = '#' + contId + ' .hiddennumeric';
	var items = $(itemsSelector);
	upPickInvalidItem($(items[item_iter]));
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		if(!isNumeric(items[item_iter]))
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function validateRequiredInputs(frm)
{
	var items = $('.required');
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		upPickInvalidItem($(items[item_iter]));
		if(jQuery.trim($(items[item_iter]).val()).length == 0)
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function verychCheckRequired(item)
{
	if(jQuery.trim($(item).val()).length == 0)
	{
		return false;
	}
	return true;
}

function inRange(item, min, max)
{
	if(($(item).val().length >= min) && ($(item).val().length <= max))
	{
		return true;
	}
	return false;
}

function notNull(item, val)
{
	if(parseInt($(item).val()) < val)
	{
		return false;
	}
	return true;
}

function validateHiddenRequiredInputs(frm, contId)
{
	var itemsSelector = '#' + contId + ' .hiddenrequired';
	var items = $(itemsSelector);
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		upPickInvalidItem($(items[item_iter]));
		if(jQuery.trim($(items[item_iter]).val()).length == 0)
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function validateUpTo5(frm)
{
	var items = $('.upto5');
	for(var item_iter = 0; item_iter < items.length; item_iter++)
	{
		upPickInvalidItem($(items[item_iter]));
		var opt_cnt = 0;
		for(var opt_iter = 0; opt_iter < items[item_iter].options.length; opt_iter++)
		{
			if(items[item_iter].options[opt_iter].selected)
			{
				opt_cnt++;
			}
			if(opt_cnt > 5)
			{
				pickInvalidItem($(items[item_iter]));
				return false;
			}
		}
		if(opt_cnt == 0)
		{
			pickInvalidItem($(items[item_iter]));
			return false;
		}
	}	
	return true;
}

function upPickInvalidItem(item)
{
	$(item).css({border: "1px solid green"});
}

function pickInvalidItem(item)
{
	verych_invalid_field = item;
	item.focus();
	$(item).css({border: "1px solid red"});
	$(item).effect("highlight", {color: '#ff5555'}, 10000);
}

function isEmail(item) 
{
	   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	   var address = $(item).val();
	   return reg.test(address);
}

function isUKZip(item) 
{
	var reg = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]?\s[0-9][A-Za-z]{2}$/;
	var address = $(item).val();
	return reg.test(address);
}

function isNumeric(item) 
{
		var reg = /^([0-9]){1,11}$/;
		var address = $(item).val();
		return reg.test(address);
}

function bookmark(a)
{
	if (window.sidebar){ // firefox
	window.sidebar.addPanel(title, url,"");
	return false;
	}
	else if(window.opera && window.print){ // opera
	return false;
	}
	else if(document.all){ // ie
	window.external.AddFavorite(a.href2 || a.href, a.title);
	if(!a.href2){
	a.href2 = a.href;
	a.href="#";
	} 
	} else {
	alert('Pls, press Ctrl + D or CMD + D for MAC, \n to add this page to your bookmarks.');
	a.href=+"#";
	return false;
	}
}