document.getElementsByClassName = function(clsName){

    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
		
		if(elements[i].className.indexOf(" ") >= 0) {
		var classes = elements[i].className.split(" ");
		for(var j = 0;j < classes.length;j++){
		if(classes[j] == clsName) retVal.push(elements[i]);
		}
		} else if(elements[i].className == clsName) {
            retVal.push(elements[i]);
		}

    }

    return retVal;

}

		

function getPage(page) {
document.location.href=page;
}


function switchShow2(objectT, toOpen) {

var thisObject = document.getElementById(objectT);
switch(thisObject.toString()) {
case "[object HTMLTableRowElement]":
var displayStyle = "table-row";
break;
default:
var displayStyle = "block";
break;
}

if(toOpen) {
thisObject.style.display=displayStyle;
var FadeIn = new OpacityTween(thisObject,Tween.StrongEaseIn, 0, 100, 0.2);
FadeIn.start();
} else {
var FadeOut = new OpacityTween(thisObject,Tween.StrongEaseOut, 100, 0, 0.2);
FadeOut.start();
FadeOut.onMotionFinished = function() {
thisObject.style.display="none";
}
}
}


function switchShow(objectT) {

var thisObject = document.getElementById(objectT);

switch(thisObject.toString()) {
case "[object HTMLTableRowElement]":
var displayStyle = "table-row";
break;
default:
var displayStyle = "block";
break;
}

if(thisObject.style.display=="none") {
thisObject.style.display=displayStyle;
var FadeIn = new OpacityTween(thisObject,Tween.StrongEaseIn, 0, 100, 0.2);
FadeIn.start();
} else {
var FadeOut = new OpacityTween(thisObject,Tween.StrongEaseOut, 100, 0, 0.2);
FadeOut.start();
FadeOut.onMotionFinished = function() {
thisObject.style.display="none";
}
}
}




function switchShowInline(objectT) {

var thisObject = document.getElementById(objectT);
var displayStyle = "inline";

if(thisObject.style.display=="none") {
thisObject.style.display=displayStyle;
var FadeIn = new OpacityTween(thisObject,Tween.StrongEaseIn, 0, 100, 0.2);
FadeIn.start();
} else {
var FadeOut = new OpacityTween(thisObject,Tween.StrongEaseOut, 100, 0, 0.2);
FadeOut.start();
FadeOut.onMotionFinished = function() {
thisObject.style.display="none";
}
}
}


function switchShowThis(objectT, doQuick) {

var thisObject = objectT;
var displayStyle = "select";

if(thisObject.style.display=="none") {
thisObject.style.display=displayStyle;
 
  if(!doQuick) {
  var FadeIn = new OpacityTween(thisObject,Tween.StrongEaseIn, 0, 100, 0.2);
  FadeIn.start();
  } 

} else {

if(!doQuick) {
  var FadeOut = new OpacityTween(thisObject,Tween.StrongEaseOut, 100, 0, 0.2);
  FadeOut.start();
  FadeOut.onMotionFinished = function() {
  thisObject.style.display="none";
  }
} else {
thisObject.style.display="none";
}

}
}

function confirmPage(msg,page) {
if(confirm(msg)) {
getPage(page);
} else {
return false ;
}
}


function switchTableColoring(table, color1, color2) {
var elements = table.getElementsByTagName("tr");
var switcher = 1;
for(var i=0;i<elements.length;i++) {
if(elements[i].className != "ignore") {
if(switcher == 1) {
elements[i].style.backgroundColor = color1;
switcher = 2;
} else {
elements[i].style.backgroundColor = color2;
switcher = 1;
}
}
}
}



function clearImageFades(count) {

for(i=0;i<count;i++) {
document.getElementById("shopthumb_"+i).className = "fade50";
}

}



function sendData(param, page, object)  {
//CHECK BROWSER
if(document.all) {
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
var XhrObj = new XMLHttpRequest();
}
var content = object;
XhrObj.open("POST", page);
XhrObj.onreadystatechange = function() {
if (XhrObj.readyState == 4 && XhrObj.status == 200) {
document.getElementById(object).innerHTML = XhrObj.responseText;
}
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}


function sendDataNoResp(param, page)  {
//CHECK BROWSER
if(document.all) {
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
var XhrObj = new XMLHttpRequest();
}
XhrObj.open("POST", page);
XhrObj.onreadystatechange = function() {
if (XhrObj.readyState == 4 && XhrObj.status == 200) {
}
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}



function setMarker(myLatLng, title,  zindex, shopId, linkURL) {

title= html_entity_decode(title, "ENT_QUOTES");
linkURL= html_entity_decode(linkURL, "ENT_QUOTES");

var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    shadow: shadow,
    icon: image,
    title: title,
    zIndex: zindex,
		shopId: shopId,
		shopLink: linkURL
});
		
google.maps.event.addListener(marker, 'click', function() {


 
	document.location.href=marker.shopLink;
	/*
  var param = "c=1&id="+marker.shopId;
  var page = "actions/actions.php?a=100";
  var XhrObj = (document.all) ? new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
  XhrObj.open("POST", page);
  XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  XhrObj.send(param);
  XhrObj.onreadystatechange = function() {
  if (XhrObj.readyState == 4 && XhrObj.status == 200) {
  var contentString = XhrObj.responseText;
  		
      			
      infowindow.content=contentString;
      infowindow.open(map,marker);
     
  
  }
  }
	*/

});

}






function getData(param, page)  {

var value = "";
var XhrObj = (document.all) ? new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
XhrObj.open("POST", page);
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
XhrObj.onreadystatechange = function() {
if (XhrObj.readyState == 4 && XhrObj.status == 200) {
value = XhrObj.responseText;
}
}
return value;

}



function getScrollXY() {

  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }

  return [ scrOfX, scrOfY ];

}




// PROVINCE MAP

function switchMap(id) {
document.getElementById("provinceMap").src = "/images/provincemap_"+id+".png";
}

function highlight(id, h) {

if(h==1) document.getElementById("provtitle_"+id).style.textDecoration="underline";
if(h==0) document.getElementById("provtitle_"+id).style.textDecoration="none";
}







// SALES 

function saleContactSwitch(type) {

type = parseFloat(type);

switch(type) {
case 0:
switchShow2("contactNameRow1", false);
switchShow2("contactTelRow1", false);
switchShow2("contactNameRow2", false);
switchShow2("contactTelRow2", false);
break;
case 1:
switchShow2("contactNameRow1", true);
switchShow2("contactTelRow1", true);
switchShow2("contactNameRow2", false);
switchShow2("contactTelRow2", false);
break;
case 2:
switchShow2("contactNameRow1", false);
switchShow2("contactTelRow1", false);
switchShow2("contactNameRow2", true);
switchShow2("contactTelRow2", true);
break;
}

}

function resetContactType() {
objectT = document.getElementById('contactType');
var t=setTimeout("saleContactSwitch(objectT.options[objectT.selectedIndex].value)",200);
}


//SEARCHFIELD


function startSearch(object) {
setSearchFocus(object);
setSearchBackground(1);
switchShow2("search_content", true);
doSearch(object);
}

function doSearch(object) {
sendData("search="+object.value, "/comp/search.php", "search_content");
}

function endSearch(object) {
setSearchBackground(0);
switchShow2("search_content", false);
}


function setSearchBackground(switcher) {

if(switcher==1) {
document.getElementById("search_left").style.backgroundImage="url('/images/textfield_left_cut.png')";
document.getElementById("search_right").style.backgroundImage="url('/images/textfield_right_cut.png')";
} else {
document.getElementById("search_left").style.backgroundImage="url('/images/textfield_left.png')";
document.getElementById("search_right").style.backgroundImage="url('/images/textfield_right.png')";
}

}

function setSearchFocus(object) {
if(object.value=="Zoeken...") {
object.value="";
} else {
object.select();
}
}


//VOTING


function selectVotes(value) {
for(i=1;i<6;i++) {
voteObject = document.getElementById("vote_"+i);
if(i <= value) {
voteObject.src = "/images/rating_star_100.png";
} else {
voteObject.src = "/images/rating_star_50.png";
}
}
}


function makeVote(value) {
document.getElementById("comScore").value = value;
}

function deSelectVotes() {
selectVotes(document.getElementById("comScore").value);
}





function html_entity_decode (string, quote_style) {


    var hash_map = {}, symbol = '', tmp_str = '', entity = '';
    tmp_str = string.toString();

 
    if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
        return false;
    }
		
    for (symbol in hash_map) {
        entity = hash_map[symbol];
        tmp_str = tmp_str.split(entity).join(symbol);
    }
    tmp_str = tmp_str.split('&#039;').join("'");
    return tmp_str;
		
}



function get_html_translation_table (table, quote_style) {

// Returns the internal translation table used by htmlspecialchars and htmlentities  
// 
// version: 908.406
// discuss at: http://phpjs.org/functions/get_html_translation_table
// +   original by: Philip Peterson
// +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// +   bugfixed by: noname
// +   bugfixed by: Alex
// +   bugfixed by: Marco
// +   bugfixed by: madipta
// +   improved by: KELAN
// +   improved by: Brett Zamir (http://brett-zamir.me)
// +   bugfixed by: Brett Zamir (http://brett-zamir.me)
// +      input by: Frank Forte
// +   bugfixed by: T.Wild
// +      input by: Ratheous
// %          note: It has been decided that we're not going to add global
// %          note: dependencies to php.js, meaning the constants are not
// %          note: real constants, but strings instead. Integers are also supported if someone
// %          note: chooses to create the constants themselves.
// *     example 1: get_html_translation_table('HTML_SPECIALCHARS');
// *     returns 1: {'"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;'}

    var entities = {}, hash_map = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};
    

    // Translate arguments
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';
    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';

    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
        throw new Error("Table: "+useTable+' not supported');
        // return false;
    }

    entities['38'] = '&amp;';
    if (useTable === 'HTML_ENTITIES') {
        entities['160'] = '&nbsp;';
        entities['161'] = '&iexcl;';
        entities['162'] = '&cent;';
        entities['163'] = '&pound;';
        entities['164'] = '&curren;';
        entities['165'] = '&yen;';
        entities['166'] = '&brvbar;';
        entities['167'] = '&sect;';
        entities['168'] = '&uml;';
        entities['169'] = '&copy;';
        entities['170'] = '&ordf;';
        entities['171'] = '&laquo;';
        entities['172'] = '&not;';
        entities['173'] = '&shy;';
        entities['174'] = '&reg;';
        entities['175'] = '&macr;';
        entities['176'] = '&deg;';
        entities['177'] = '&plusmn;';
        entities['178'] = '&sup2;';
        entities['179'] = '&sup3;';
        entities['180'] = '&acute;';
        entities['181'] = '&micro;';
        entities['182'] = '&para;';
        entities['183'] = '&middot;';
        entities['184'] = '&cedil;';
        entities['185'] = '&sup1;';
        entities['186'] = '&ordm;';
        entities['187'] = '&raquo;';
        entities['188'] = '&frac14;';
        entities['189'] = '&frac12;';
        entities['190'] = '&frac34;';
        entities['191'] = '&iquest;';
        entities['192'] = '&Agrave;';
        entities['193'] = '&Aacute;';
        entities['194'] = '&Acirc;';
        entities['195'] = '&Atilde;';
        entities['196'] = '&Auml;';
        entities['197'] = '&Aring;';
        entities['198'] = '&AElig;';
        entities['199'] = '&Ccedil;';
        entities['200'] = '&Egrave;';
        entities['201'] = '&Eacute;';
        entities['202'] = '&Ecirc;';
        entities['203'] = '&Euml;';
        entities['204'] = '&Igrave;';
        entities['205'] = '&Iacute;';
        entities['206'] = '&Icirc;';
        entities['207'] = '&Iuml;';
        entities['208'] = '&ETH;';
        entities['209'] = '&Ntilde;';
        entities['210'] = '&Ograve;';
        entities['211'] = '&Oacute;';
        entities['212'] = '&Ocirc;';
        entities['213'] = '&Otilde;';
        entities['214'] = '&Ouml;';
        entities['215'] = '&times;';
        entities['216'] = '&Oslash;';
        entities['217'] = '&Ugrave;';
        entities['218'] = '&Uacute;';
        entities['219'] = '&Ucirc;';
        entities['220'] = '&Uuml;';
        entities['221'] = '&Yacute;';
        entities['222'] = '&THORN;';
        entities['223'] = '&szlig;';
        entities['224'] = '&agrave;';
        entities['225'] = '&aacute;';
        entities['226'] = '&acirc;';
        entities['227'] = '&atilde;';
        entities['228'] = '&auml;';
        entities['229'] = '&aring;';
        entities['230'] = '&aelig;';
        entities['231'] = '&ccedil;';
        entities['232'] = '&egrave;';
        entities['233'] = '&eacute;';
        entities['234'] = '&ecirc;';
        entities['235'] = '&euml;';
        entities['236'] = '&igrave;';
        entities['237'] = '&iacute;';
        entities['238'] = '&icirc;';
        entities['239'] = '&iuml;';
        entities['240'] = '&eth;';
        entities['241'] = '&ntilde;';
        entities['242'] = '&ograve;';
        entities['243'] = '&oacute;';
        entities['244'] = '&ocirc;';
        entities['245'] = '&otilde;';
        entities['246'] = '&ouml;';
        entities['247'] = '&divide;';
        entities['248'] = '&oslash;';
        entities['249'] = '&ugrave;';
        entities['250'] = '&uacute;';
        entities['251'] = '&ucirc;';
        entities['252'] = '&uuml;';
        entities['253'] = '&yacute;';
        entities['254'] = '&thorn;';
        entities['255'] = '&yuml;';
    }

    if (useQuoteStyle !== 'ENT_NOQUOTES') {
        entities['34'] = '&quot;';
    }
    if (useQuoteStyle === 'ENT_QUOTES') {
        entities['39'] = '&#39;';
    }
    entities['60'] = '&lt;';
    entities['62'] = '&gt;';

    // ascii dcimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        hash_map[symbol] = entities[decimal];
    }

  
    return hash_map;
}




