function getCommaSepValueOfChk(formName, opr, page)
{
	var str3 = '';
	var len = document.forms[formName].elements.length;

	for(i=0;i<len;i++)
	{
		if(document.forms[formName].elements[i].type == 'checkbox');
		{
			if(document.forms[formName].elements[i].checked == true)
			{
				var carid = document.forms[formName].elements[i].value;
				if(opr == 'add')
				{
					// for adjust odd and even class after Add to Favorite func
					var str4 = carid.concat('class');

					if(page != 'compare')
					{
						document.getElementById(carid).className =document.getElementById(str4).className;
						document.forms[formName].elements[i].checked = false;
					}

					str3 =  carid.concat(',').concat(str3);
				}
				else
				str3 =  carid.concat(',').concat(str3);
			}
		}
	}

	return 	str3.substring(0,((str3.length)-1));
}


// validate register 
function validateRegister(target,PokeYoke)
{
		if(target.name == 'phone' || target.name == 'mobile')
		{
			if($('phone').value == "" && $('mobile').value == "")
			{
				PokeYoke.renderInlineError( target, msg_phone_or_mobile_cannot_be_blank);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}
			else
			{
				if(target.name == 'phone' && !isblank(target.value))
				{
					if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
					{
						PokeYoke.renderInlineError( target, msg_invalid_phone_number );
						$(target.name).addClassName('error_box');
						target.focus();
						return false;
					}
				}
				if(target.name == 'mobile' && !isblank(target.value))
				{
					if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
					{
						PokeYoke.renderInlineError( target, msg_invalid_mobile_number );
						$(target.name).addClassName('error_box');
						target.focus();
						return false;
					}
				}
			}
			$(target.name).removeClassName('error_box');
			PokeYoke.removeErrors( target );
			return true;
		}
}

// validate send service link
function validateServiceSendLink(target,PokeYoke)
{
	if(target.name == "friend_email")
		{
			if(isblank(target.value))
			{
				PokeYoke.renderInlineError(target,msg_mandatory_field);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}

	 		s = target.value;
			str1=s.split(",");

			if(str1.length > 10)
			{
				PokeYoke.renderInlineError(target,msg_more_than_10_mail);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}
			else
			{
				for(var m=0; m<str1.length; m++)
				{
					if(!emailInvalid(str1[m]))
					{
						PokeYoke.renderInlineError(target,msg_invalid_email);
						$(target.name).addClassName('error_box');
						target.focus();
						return false;
					}
				}
			}
		}

	$(target.name).removeClassName('error_box');
	PokeYoke.removeErrors( target );
	return true;
}

// validate user form
function validateUserForm(target,PokeYoke)
{
		if((target.name == "phone") && ($("phone").value == "") && $("mobile").value == "")
		{
				PokeYoke.renderInlineError(target,msg_phone_or_mobile_cannot_be_blank);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
		}
		else if(target.name == "phone" || target.name == "mobile")
		{
			if(target.name == "phone" && target.value != "")
			{
				if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
				{
					PokeYoke.renderInlineError(target,msg_invalid_phone_number);
					$(target.name).addClassName('error_box');
					target.focus();
					return false;
				}
			}
			if(target.name == "mobile" && target.value != "")
			{
				if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
				{
					PokeYoke.renderInlineError(target,msg_invalid_mobile_number);
					$(target.name).addClassName('error_box');
					target.focus();
					return false;
				}
			}
		}
		$(target.name).removeClassName('error_box');
		PokeYoke.removeErrors( target );
		return true;
}


// validate banner
function validateBanner(target,PokeYoke)
{
		if(target.name == "img" && $("id").value == "")
		{
			if(target.name == "img" && target.value == "")
			{
					PokeYoke.renderInlineError(target,msg_banimg_empty);
					$(target.name).addClassName('error_box');
					target.focus();
					return false;
			}
		}
		$(target.name).removeClassName('error_box');
		PokeYoke.removeErrors(target);
		return true;
}

// validate add services
function validateAddServices(target,PokeYoke)
{
		if(target.name == 'address' && target.value != '')
		{
			if(!(target.value.match(/^[0-9a-zA-ZåÅäÄöÖÁÀÉÈÒÓÙÚüáàèéòóùúÝìíýÌÍ,\.'-_´:() !]{1,250}$/)))
			{
				PokeYoke.renderInlineError(target,msg_invalid_service_address);
				$(target.name).addClassName("error_box");
				target.focus();
				return false;
			}
		}
		
		if(target.name == 'zip' && target.value != '')
		{
			if(!(target.value.match(/^[0-9a-zA-Z ]{1,20}$/)))
			{
				PokeYoke.renderInlineError(target,msg_invalid_zip);
				$(target.name).addClassName("error_box");
				target.focus();
				return false;
			}
		}
		
		if(target.name == 'date_upto' && target.value == '')
		{
			if($("ed_flag").checked == false)
			{
				PokeYoke.renderInlineError(target,msg_select_enddate);
				$(target.name).addClassName("error_box");
				target.focus();
				return false;
			}
		}

		$(target.name).removeClassName('error_box');
		PokeYoke.removeErrors( target );
		return true;
}

// validate add dealer
function validateAddDealer(target,PokeYoke)
{
	if((target.name == "phone") && ($("phone").value == "") && $("mobile").value == "")
	{
			PokeYoke.renderInlineError(target,msg_phone_or_mobile_cannot_be_blank);
			$(target.name).addClassName('error_box');
			target.focus();
			return false;
	}
	else if(target.name == "phone" || target.name == "mobile")
	{
		if(target.name == "phone" && target.value != "")
		{
			if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
			{
				PokeYoke.renderInlineError(target,msg_invalid_phone_number);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}
		}
		if(target.name == "mobile" && target.value != "")
		{
			if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
			{
				PokeYoke.renderInlineError(target,msg_invalid_mobile_number);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}
		}
	}
	if(target.name == "loginid" && ($("flag").value == "new" || $("act").value == 1))
	{
		if(target.value == "")
		{
			PokeYoke.renderInlineError(target,msg_login_cannot_be_blank);
			$(target.name).addClassName('error_box');
			target.focus();
			return false;
		}
		if(!checkLogin(target.value))
		{
			PokeYoke.renderInlineError(target,msg_invalid_loginid);
			$(target.name).addClassName('error_box');
			target.focus();
			return false;
		}
		if(!checkReservedWord(target.value))
		{
				PokeYoke.renderInlineError(target,msg_reserved_word);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
		}
	}

	  if(target.name  == "passwd" && target.value == "")
	  {
				PokeYoke.renderInlineError(target,msg_passwd_cannot_be_blank);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
	  }
	  else if(target.name  == "confirm_passwd" && target.value == "")
	  {
			PokeYoke.renderInlineError(target,msg_passwd_cannot_be_blank);
			$(target.name).addClassName('error_box');
			target.focus();
			return false;
	  }
	  else if (target.name == "confirm_passwd")
	  {
	      if(($("passwd").value) != ($("confirm_passwd").value))
	      {
					PokeYoke.renderInlineError(target,msg_two_password_do_not_match);
					$(target.name).addClassName('error_box');
					target.focus();
					return false;
	      }
	  }

		$(target.name).removeClassName('error_box');
		PokeYoke.removeErrors( target );
		return true;
}


// validate feedback form
function validateFeedback(target,PokeYoke)
{
	var feed_type = document['forms']['feedback']['feed_type'];

		if($("isAuthenticated").value == "")
		{
			if(target.name == "first_name" && target.value == "")
			{
				PokeYoke.renderInlineError(target,msg_full_name_format);
				$(target.name).addClassName("error_box");
				target.focus();
				return false;
			}
			else if(target.name == "first_name" && target.value != "")
			{
				if(!checkFullName(target.value))
				{
					PokeYoke.renderInlineError(target,msg_full_name_format);
					$(target.name).addClassName('error_box');
					target.focus();
					return false;
				}
			}

			if(target.name == "email" && target.value == "")
			{
				PokeYoke.renderInlineError(target,msg_mandatory_field);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}

			if(target.name == "email" && !emailInvalid(target.value))
			{
				PokeYoke.renderInlineError(target,msg_invalid_email);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}

		}

		if(target.name == "mobile" && $("countryCode").value != 'uk' && $("countryCode").value != 'se')
		{
			for(i=0; i < feed_type.length; i++)
			{
		       if(feed_type[i].checked == true)
		       {
			        var radioValue = feed_type[i].value;
			        if(radioValue == 'S')
			        {
						if(isblank(target.value))
						{
							PokeYoke.renderInlineError(target,msg_mobile_cannot_be_blank);
							$(target.name).addClassName('error_box');
							target.focus();
							return false;
						}
						if(target.value != "")
						{
							if(!(target.value.match(/^[\+]?[0-9- ]{1,}$/)))
							{
								PokeYoke.renderInlineError(target,msg_invalid_mobile_number);
								$(target.name).addClassName('error_box');
								target.focus();
								return false;
							}
						}
			        }
			   	 }
			}
		}

		$(target.name).removeClassName('error_box');
		PokeYoke.removeErrors( target );
		return true;
}


// validate send link form
function validateSendLink(target,PokeYoke)
{
		if(target.name == "friend_email")
		{
			if(isblank(target.value))
			{
				PokeYoke.renderInlineError(target,msg_mandatory_field);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}

	 		s = target.value;
			str1=s.split(",");

			if(str1.length > 10)
			{
				PokeYoke.renderInlineError(target,msg_more_than_10_mail);
				$(target.name).addClassName('error_box');
				target.focus();
				return false;
			}
			else
			{
				for(var m=0; m<str1.length; m++)
				{
					if(!emailInvalid(str1[m]))
					{
						PokeYoke.renderInlineError(target,msg_invalid_email);
						$(target.name).addClassName('error_box');
						target.focus();
						return false;
					}
				}
			}
		}

	$(target.name).removeClassName('error_box');
	PokeYoke.removeErrors( target );
	return true;
}

function cm_alert()
{
	alert("Common Alert Function");
}

function submitNav(pageno)
{
	document.nav.page.value=pageno;
	document.nav.submit();
}

function sortList(sortfield,type)
{
	document.nav.sort.value=sortfield;
	document.nav.page.value = document.nav.page.value;
	document.nav.type.value=type;
	document.nav.submit();
}

function submitNavSds(pageno,frm_name)
{
	document.forms[frm_name].page.value=pageno;
	document.forms[frm_name].submit();
}

function emailInvalid(s)
{
	//	if(s.match(/^\w+([\.\+]?[-]{0,2}\w+)*[\.]?@\w+([\.-]?\w+)*(\.\w{2,4})+$/i))
	//		return true;
	//	else
	//		return false;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(s))
	return true;
	else
	return false;
}

// Function to open new pop up window with variable width and height
function openImg(img_nm,w,h,nm)
{
	var myfeatures='directories=no,location=no,menubar=no,status=yes,titlebar=no,toolbar=no,resizable=yes,scrollbars=yes,width='+w+',height='+h+',left=0,top=0';

	if(nm == '')
	nm='new';

	var newImg=open(img_nm,nm,myfeatures);
	//newImg.focus();
}

// Function to check whether given string is really empty or not
function isblank(s)
{
	for(var i=0; i < s.length; i++)
	{
		var c=s.charAt(i);

		if((c != ' ') && (c != "\n") && (c != "\t"))
		return false;
	}
	return true;
}

/** Function to check loginid string, various rules are followed. */
function checkLogin(s)
{
	var msgResdId;
	if(!(s.match(/^[a-zA-Z0-9åÅäÄöÖÁÀÉÈÒÓÙÚáàèéòóùúÝìíýÌÍ´_]{4,12}$/)))
	return 0;
	/* else
	{
	s=s.toLowerCase();

	if(s == 'admin' || s == 'webmaster' || s == 'help' || s == 'helpdesk' || s == 'user' || s == 'dealer' || s == 'dummy' ||
	s == 'nettiauto' || s == 'nettimoto' || s == 'nettivene' || s == 'nettivaraosa' ||s == 'nettimokki' ||
	s == 'nettikone' ||s == 'nettiasunto' || s == 'nettikirpputori' || s == 'nettikaravaani')
	return 'msg_reserved_word';
	}*/
	return 1;
}

function checkReservedWord(s)
{
	s=s.toLowerCase();

	if(s == 'admin' || s == 'webmaster' || s == 'help' || s == 'helpdesk' || s == 'user' || s == 'dealer' || s == 'dummy' ||
	s == 'nettiauto' || s == 'nettimoto' || s == 'nettivene' || s == 'nettivaraosa' ||s == 'nettimokki' ||
	s == 'nettikone' ||s == 'nettiasunto' || s == 'nettikirpputori' || s == 'nettikaravaani')
	return 0;

	return 1;
}


/* Function to check Password string, various rules are followed */
function checkPasswd(s)
{
	if(s.match(/^[a-zA-Z0-9åÅäÄöÖÁÀÉÈÒÓÙÚáàèéòóùúÝìíýÌÍ´_.-]{4,12}$/))
	return true;

	return false;
}

// Function to suhmit favorite page to compare vehicles.
function compareVehicle()
{
	var cnt=flag=0;
	var id_vehicle = '';
	for(var i=0; i < document.fav.length; i++)
	{
		if(document.fav.elements[i].type == 'checkbox' && document.fav.elements[i].checked)
		{
			id_vehicle += document.fav.elements[i].value + '-';
			cnt++;
			continue;
		}
	}

	if(cnt < 2 || cnt > 4)
	{
		return false;
	}
	else
	{
		id_vehicle = id_vehicle.substr(0,id_vehicle.length - 1)
		return id_vehicle;
	}
}

function CheckAll(fmobj)
{
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != 'allbox') && (e.type=='checkbox') && (!e.disabled))
		{
			e.checked = fmobj.allbox.checked;
		}
	}
}

function CheckCheckAll(fmobj)
{
	var TotalBoxes = 0;
	var TotalOn = 0;
	for (var i=0;i<fmobj.elements.length;i++)
	{
		var e = fmobj.elements[i];
		if ((e.name != 'allbox') && (e.type=='checkbox'))
		{
			TotalBoxes++;
			if(e.checked)
			{
				TotalOn++;
			}
		}
	}

	if (TotalBoxes==TotalOn)
	{
		fmobj.allbox.checked=true;
	}
	else
	{
		fmobj.allbox.checked=false;
	}
}

function trim(stringToTrim)
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim)
{
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim)
{
	return stringToTrim.replace(/\s+$/,"");
}

function updateJSON(request, json)
{
	var nbElementsInResponse = json.length;
	for (var i = 0; i < nbElementsInResponse; i++)
	{
		Element.update(json[i][0], utf8decode(json[i][1]));
	}
}

function utf8encode(string)
{
	string = string.replace(/\r\n/g,"\n");
	var utftext = "";

	for (var n = 0; n < string.length; n++)
	{
		var c = string.charCodeAt(n);
		if (c < 128)
		{
			utftext += String.fromCharCode(c);
		}
		else if((c > 127) && (c < 2048))
		{
			utftext += String.fromCharCode((c >> 6) | 192);
			utftext += String.fromCharCode((c & 63) | 128);
		}
		else
		{
			utftext += String.fromCharCode((c >> 12) | 224);
			utftext += String.fromCharCode(((c >> 6) & 63) | 128);
			utftext += String.fromCharCode((c & 63) | 128);
		}
	}

	return utftext;
}

function utf8decode(utftext)
{
	var string = "";
	var i = 0;
	var c = c1 = c2 = 0;

	while ( i < utftext.length )
	{
		c = utftext.charCodeAt(i);
		if (c < 128)
		{
			string += String.fromCharCode(c);
			i++;
		}
		else if((c > 191) && (c < 224))
		{
			c2 = utftext.charCodeAt(i+1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		}
		else
		{
			c2 = utftext.charCodeAt(i+1);
			c3 = utftext.charCodeAt(i+2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}
	}
	return string;
}

function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		selectbox.remove(i);
	}
}

function addOption(selectbox,text,value )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}

function maintainScrollUnload(e)
{
  var date = new Date()
  date.setTime(date.getTime()+5*60*1000);
  if(typeof(page) != 'undefined' && page.match(/^ad_list/) && document.documentElement.scrollTop > 0)
  {
    document.cookie = 'pp='+location.href.replace("?",'')+' '+document.documentElement.scrollTop+'; expires='+ date.toGMTString() + '; path=/;';
  }
}
function maintainScrollLoad()
{
    if(typeof(page) != 'undefined' && page.match(/^ad_list/))
    {
        var reg,pp;

        pp =('pp='+location.href).replace("?",'');

        pp = pp.replace(/\[/gi,'\\\[');
        pp = pp.replace(/\]/gi,'\\\]');

        ck = document.cookie;
        if(ck.match(pp))
        {
          reg = new RegExp(pp+' (\\d+)');
        }

        if(scroll = ck.match(reg))
        {
           document.documentElement.scrollTop=scroll[1]-100;
           unsetCookie('pp='+location.href.replace("?",'')+' '+scroll);
        }
    }
}

if(navigator.userAgent.indexOf('Firefox') > 0)
{
	if (window.addEventListener)
	{
    	window.addEventListener("load", maintainScrollLoad, false);
      window.addEventListener("beforeunload", maintainScrollUnload, false);
    }
}
function unsetCookie(cname)
{
    document.cookie = cname+'; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/;';
}

function RemoveGroups(selectId)
{
	var lChars=new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');

	for(var chr=0; chr < lChars.length; chr++)
	{
		RemoveGroup(lChars[chr],selectId);
	}
}

function RemoveGroup(groupLabel,selectId)
{
	try
	{
		var selectList=document.getElementById(selectId);
		var eachGroup=selectList.firstChild;

		while(groupLabel != eachGroup.label)
		{
			eachGroup=eachGroup.nextSibling;
		}
		selectList.removeChild(eachGroup);
	}
	catch(er){}
}

// Function to change year list box options
function yearChange(v1,v2,curval)
{
	var tot=v1.selectedIndex+1;

	if(tot == 1)
		tot=v1.options.length-1;

	if(curval == '' && v2.selectedIndex > 0)
		curval=v2.options[v2.selectedIndex].value;

	v2.length=1;

	for(i=1,j=1; i<tot; j++,i++)
	{
		temp=new Option(v1.options[i].value,v1.options[i].value);
		eval('v2.options[j]=temp');

		if(curval == v1.options[i].value)
			v2.selectedIndex=j;
	}
}