function HideShowElements(prefGroup,maxID,curID) { 
    nameClassShow = 'formShow';
    nameClassHide = 'formHide';

    

    maxShow = parseInt(curID);
    if (maxShow==NaN) maxShow = 0;
    if(maxShow!=NaN) {

    for(i=1;i<=maxID;i++) {        

         

         theEl = document.getElementById(prefGroup+i);

         if (i==maxShow) {

            theEl.className = nameClassShow;

         }

         else {

            theEl.className = nameClassHide;

        }

        }

    }
}

var prefHide=new Array('r','a_l');/*,'s'*/
function HidElements (arrHide) {
for (var itemh in arrHide) {
    for (var pref in prefHide) {
        obj = window.document.getElementById(prefHide[pref]+'_'+itemh);
        //ShowByElement(obj,arrBoss);
        if (obj != null) {
           obj.style.display = 'none';
        }
        obj=null;
    }    
}
}

function HidElementsFull (arrHide, arrBoss) {
    if (isArray(arrBoss)) {
        for (var itemb in arrBoss) {
           var objtmp = window.document.getElementsByName(itemb)[0];
           ShowByElement(objtmp,arrBoss);
        }
    }
}

function ShowByElement (obj,arr) {
var f;
    if (obj!=null && arr!=null) {
        if (arr[obj.name]!=null && obj.type=='radio') {
            obj_tmp = window.document.getElementsByName(obj.name);
            value_tmp = get_radio_value(obj_tmp);
            ShowByElementAction (arr, obj.name  , value_tmp) 
           
        }
        if (arr[obj.id]!=null) {
            f = arr;
            prefHide_f = prefHide;
            for (var idhide in arr[obj.id]) {
		    if (arr[obj.id][idhide]['hide_type']=='group') {
                var endGr;
			    endGr = obj.value;
			    for (var m = 1; m <= arr[obj.id][idhide]['value']; m++) {
				   for (var pref in prefHide) {
					    var objRule = null;
					    //objRule = window.document.getElementById(prefHide[pref]+'_'+idhide+m);
					     //if (obj.id=='list_country_tax_number') alert(prefHide[pref]+'_'+idhide+m);
					    if ((objRule=window.document.getElementById(prefHide[pref]+'_'+idhide+m))!=null && m<=endGr) {
							   objRule.style.display = '';
					    }
					    else if(objRule!=null) {							     
							     objRule.style.display = 'none';
					    }
				   }
			    }
		    }
		    else {
		    for (var pref in prefHide) {		
			var objRule = null;
			objRule = window.document.getElementById(prefHide[pref]+'_'+idhide);
                        objFld = window.document.getElementById(idhide);
                    objLabel = window.document.getElementById('l_'+idhide);
                    if (objRule!=null && (objFld!=null || objLabel!=null)) {
                        if (eval("obj."+arr[obj.id][idhide]['property']+"=='"+arr[obj.id][idhide]['value']+"'")) {
                            //alert(arr[obj.id][idhide]['property']+'=='+arr[obj.id][idhide]['value']+'id:'+obj.id)
                            objRule.style.display = '';
                            if (objFld!=null) {
                                objFld.style.display = '';
                            }
                            else if (objLabel!=null) {
                                 objLabel.style.display = '';
                            }
                            return;
                        } else {
                            //alert(arr[obj.id][idhide]['property']+'=='+arr[obj.id][idhide]['value'])
                            objRule.style.display = 'none';
                            if (objFld!=null) {
                                objFld.style.display = 'none';
                            }
                            else if (objLabel!=null) {
                                objLabel.style.display = 'none';
                            }
                        }
                        //if (isArray(arr[idhide])) {alert(idhide)}
                    }
                
                    if (isArray(arr[idhide])) {
                        objF = window.document.getElementById(idhide);
                        ShowByElement(objF,arr)
                    }
                }
		    }
            }
        }
    }
    return;
}
function ShowByElementAction (arr, obj_uid, obj_value) {
            if (arr[obj_uid]!=null) {
            f = arr;
            prefHide_f = prefHide;
            for (var idhide in arr[obj_uid]) {
		    if (arr[obj_uid][idhide]['hide_type']=='group') {
			    var endGr;
			    endGr = obj_value;
			    for (m = 1; m <= arr[obj_uid][idhide]['value']; m++) {
				   for (var pref in prefHide) {
					    var objRule = null;
					    objRule = window.document.getElementById(prefHide[pref]+'_'+idhide+m);
					    if (objRule!=null) {
						    if (m<=endGr) {
							   objRule.style.display = '';
						    }
						    else {							     
							     objRule.style.display = 'none';
						    }
					    }
				   }
			    }
		    }
		    else {
		    for (var pref in prefHide) {
			var objRule = null;
			objRule = window.document.getElementById(prefHide[pref]+'_'+idhide);
			if (objRule!=null ) {
			    if (eval("'"+obj_value+"'=='"+arr[obj_uid][idhide]['value']+"'")) {
                            objRule.style.display = '';	
							if (document.getElementById(idhide)!=null) {//added to fix the problem with cheque payable
							document.getElementById(idhide).style.display='inline';							
							}
                        } else {					
                            objRule.style.display = 'none';	
							if (document.getElementById(idhide)!=null) { //added to fix the problem with cheque payable
							document.getElementById(idhide).style.display='none';							
							}
                        }
                    }
			    if (isArray(arr[idhide])) {
				objF = window.document.getElementById(idhide);
				ShowByElement(objF,arr)
			    }
		    }
		    }
            }
}
}
function isArray(obj) {
  if (obj==null) return false;
   if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}

function MkTotal (group,total,currency,arr_price,arr_fields) {
var objC, typeC, objT, result;
    objT = window.document.getElementsByName(total)[0];
    objC = window.document.getElementsByName(currency);
    result = 0;
    if (!objT || !objC) return;
    if (objC[0].type=='radio') {
        typeC = get_radio_value(objC);
    }
    if (typeC != null) {
        for (field in arr_fields) {
            objTmp = window.document.getElementsByName(field);
	    objCount = window.document.getElementsByName(field+'_number')[0];
	    number = 1;
	    row_show_number = ShowRowFld(field+'_number');
	    if (row_show_number && objCount!=null) {
			  number_tmp = parseInt(objCount.value);
			  if (number_tmp!=NaN) {
				  if (number_tmp>1) number = number_tmp;
			  }
			
		}
            if (objTmp[0].type=='checkbox') {
		 //alert(objTmp[0].type)
                service = arr_fields[field];
		row_show = ShowRowFld(field);	
		
		if (arr_price[service][typeC]!=null && objTmp[0].checked && objTmp[0].style.display!='none' && row_show==true) {
			    //result+=arr_price[service][typeC]*number_tmp;
                for(i = 1; i <= number; i++) {
			var objNotary;
			    objNotary = window.document.getElementsByName(field+'_notary_'+i)[0];
                            flagNum=false;
                            if (isArray(arrPriceNumber)) {
                                if (isArray(arrPriceNumber[service])) {
                                     if (isArray(arrPriceNumber[service][i])) {
                                        flagNum = true;
                                    }
                                }
                            }
			    //field
			   var tmpPrice;
			    if (flagNum) {
				tmpPrice = arrPriceNumber[service][i][typeC];
                            }
                            else {
                                tmpPrice=arr_price[service][typeC];
                            }
			   if (objNotary!=null && parseInt(objNotary.value)>1) {
					tmpPrice = tmpPrice + (parseInt(objNotary.value)-1)*((parseInt(tmpPrice)*100)/100)*0.5
			    }
                           
			        result+=tmpPrice;
                 }
		}
            }
            else if (objTmp[0].type=='select-one') {
                service = objTmp[0].value;
                notHide = true
                for (var pref in prefHide) {
                    objCont = window.document.getElementById(prefHide[pref]+'_'+field);
                    if (objCont!=null && objCont.style.display=='none') {
                        notHide = false;
                    }
                }
                if (arr_price[service][typeC]!=null && notHide) {
                     for(i = 1; i <= number_tmp; i++) {
                            flagNum=false;
                            if (isArray(arrPriceNumber)) {
                                if (isArray(arrPriceNumber[service])) {
                                     if (isArray(arrPriceNumber[service][i])) {
                                        flagNum = true;
                                    }
                                }
                            }
                            if (flagNum) {
                                result+=arrPriceNumber[service][i][typeC];
                            }
                            else {
                                result+=arr_price[service][typeC];
                            }
                 }
                }
                
            }
        }
        objT.value = result;
    }
}
function ShowRowFld (field) {
var row_show = true;
		if (arrFieldsInfo[field]!=null) {
			if (arrFieldsInfo[field]['row_id']!=null) {
				tmp_row = window.document.getElementById(arrFieldsInfo[field]['row_id']);
				if (tmp_row!=null) {
					if (tmp_row.style.display=='none') row_show = false
				}				
			}
		}
return row_show;
}
function get_radio_value(radioar) {
    for(i = 0; i < radioar.length; i++)
    {  
        if(radioar[i].checked) {return radioar[i].value;}
    }
    return null;
}
function showElById(id_tmp, obj_name, value_true) {
var obj;
        obj = document.getElementById(id_tmp);
        obj_tmp = window.document.getElementsByName(obj_name);
        value_tmp = get_radio_value(obj_tmp);
        if (obj!=null) {
                if (value_tmp==value_true) {
                        obj.style.display = '';
                }
                else {
                        obj.style.display = 'none';
                }
        }
}
function hilightByRadio (obj) {
var    objHilight, obj_radio;
    if (obj == null) return;
    obj_radio = window.document.getElementsByName(obj.name);
    for(i = 0; i < obj_radio.length; i++)
    {
        objHilight = document.getElementById('highlight_' + obj_radio[i].id);
        if (objHilight!=null) {
            if(obj_radio[i].checked) {
                objHilight.className = 'highlight';
            }
            else {
                objHilight.className = 'highlight_no';
            }
        }
    }
    return true;
}
function clearLang () {
    var lang;
    lang = document.getElementById('lng');
    if (lang!=null) {
        lang.value = '';
    }
}

/*function used to search for all elements with same class and changes value of href property*/
function changeElementsByClass(searchClass,tag,value) {	
	if ( tag == null )
		tag = '*';
	var els = document.getElementsByTagName(tag);
	if (els!=null) {
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {			
			els[i].href='/terms-and-conditions-promotion/?country_promotion='+value;
			j++;
		}
	}
	}
	return true;
}

/*
	 Function ValidateDateRange 
	 * generates error if the input date ($value) is before start date or after end date of the promo
	 * Returns true if $start<$value<$end
	 * $start $end  format 2011-08-28
	 * $value comes formated like this 16/06/2010
	 * date added  29.06.2010 - IvanK
	 */
function ValidateDateRange(startdate,enddate,value){
//alert(startdate);

if (value && (startdate || enddate)) {
	tmp = value.split("/")
	value = new Date(tmp[2],tmp[1]-1,tmp[0]);//YY,mm,d
	//alert (value);
	if (startdate) {
        tmp = startdate.split("-");
        startdate = new Date(tmp[0],tmp[1]-1,tmp[2]); //YY,mm,d	
        //alert (startdate);
        if(value<startdate) {
         return false; 
        }
	}
	if (enddate) {
        tmp = enddate.split("-")
        enddate = new Date(tmp[0],tmp[1]-1,tmp[2]);//YY,mm,d
        //alert (enddate);
        if (value>enddate){
          return false;
        }
    }
}
return true;
}
function getQueryVariable(variable) 
{ 
var query = window.location.search.substring(1); 
var vars = query.split("&"); 
for (var i=0;i<vars.length;i++) 
{ 
var pair = vars[i].split("="); 
if (pair[0] == variable) 
{ 
return pair[1]; 
} 
} 
} 
function IsXjsValidate(element) {
    var arrXjsGroups = new Array();
    arrXjsGroups['address'] = new Array();
    arrXjsGroups['address']['address_1'] = true;
    arrXjsGroups['address']['city'] = true;
    arrXjsGroups['address']['postal_code'] = true;
    arrXjsGroups['address']['states_promotion'] = true;
    arrXjsGroups['address']['address_2'] = false;
    
    if (arrXjsGroups['address'][element.id] != undefined ) {
        for (var field_tmp in arrXjsGroups['address']) {
            var obj_tmp = window.document.getElementById(field_tmp);
            if (arrXjsGroups['address'][field_tmp] && obj_tmp !=null ) {
                if (obj_tmp.value == '') {
                    return true;
                }
            }
        }
    }
    //var address_group
    if (site_lng == 'jp' || site_lng == 'gr' || site_lng == 'he') {
        var tmp_result = ValidteASCIIOnly (element);
        if (!element) {
            return false;
        }
    }
     obj = window.document.getElementById(element.id + '_u_info');
     if (obj !=null) {
         if ( obj.innerHTML.toLowerCase().search('/gallery/site_images/false.png')  != -1) {
             return false;
         }
     }
     else {
                 return true;
     }
     element.focus();
     
    return true;
}

function ValidteASCIIOnly(element) {    
    if (element!=null) {
        
        var pattern = new RegExp(/[^\x20-\x7F]+/g);        
        if (pattern.test(element.value)) {
            return false;
        }
    }
    return true;
}

function whichButton (event, message) {
   var code = (document.layers||document.getElementById&&!document.all) ? event.which:event.button;
        if (code==2||code==3){
            //if IE4+
            document.oncontextmenu=new Function ("return false")
        
            alert(message);
            document.oncontextmenu = null;
            return false;
        }
}

function noCTRL (event, message) {
    var code = (document.layers||document.getElementById&&!document.all) ? event.which:event.keyCode;
    
    if (parseInt(code)==17) //CTRL
    {
                
        
        alert(message);
        return false;
    }
}

function disableselect(event){
return false
}

function reEnable(){
return true
}


