/* functies voor Omega Shop */
/* Omega Webdesign, www.omega-webdesign.nl */
/* copyright 2008 */


var DDH = function() {
	return {
		addLoadEvent : function(func) {
			var oldonload = window.onload;
			if (typeof window.onload != 'function') {
				window.onload = func;
			} else {
				window.onload = function() {
					if (oldonload) {
						oldonload();
					}
					func();
				}
			}
		},	
	
		//$ : function(el) {
		//	return document.getElementById(el);
		//},
		
		$ : function() {
			var elements = new Array();
			for (var i = 0; i < arguments.length; i++) {
				var element = arguments[i];
				if (typeof element == 'string')
					element = document.getElementById(element);
				if (arguments.length == 1)
					return element;
				elements.push(element);
			}
			return elements;
		},

		
		$F : function(el) {
			return DDH.$(el).value;
		},
		
		$$ : function(className) { 		//  getElementsByClassName
			var arr = new Array(); 
			var all;
			if(document.all) {
				all = document.all;
			} else {
				all = document.getElementsByTagName("*");
			}
	        //var elems = document.getElementsByTagName(soort);
			//alert('all: ' + all.length);
	        for(var i = 0; i < all.length; i++) {
				var elem = all[i];
				var cls = elem.className;
				if(cls == className) { // evt nog code toevoegen in geval element meerdere classes heeft
					//alert(arr.length);
					arr[arr.length] = elem;
				}
	        }
	        return arr;
	    },
		
		addEventHandler : function(oTarget, sEventType, fnHandler) {
			if(oTarget.addEventListener) {	// for DOM compliant browsers
				oTarget.addEventListener(sEventType, fnHandler, false);
			} else if(oTarget.attachEvent) {	// for IE
				oTarget.attachEvent("on" + sEventType, fnHandler);
			} else {	// for all others
				oTarget["on" + sEventType] = fnHandler;
			}
		},
		
		removeEventHandler : function(oTarget, sEventType, fnHandler) {
			if(oTarget.removeEventListener) {	// DOM compliant browsers
				oTarget.removeEventListener(sEventType, fnHandler, false);
			} else if (oTarget.detachEvent) { 	// IE
				oTarget.detachEvent("on" + sEventType, fnHandler);
			} else {	// all others
				oTarget["on" + sEventType] = null;
			}
		},
		
		show : function(el) {
			DDH.$(el).style.display = '';
		},
		
		hide : function(el) {
			DDH.$(el).style.display = 'none';
		}
		
		
		
	};
}();

var OmegaShop = function() {

	var private_var;
	function private_method() {
		// do stuff here
	}
	return {
		
		// op prod pagina
		activeer_prod_extra_afb : function() {
			var mainImg = DDH.$('prod_main_foto');
			var xtraImg = DDH.$$('extra-prod-fotos-img', 'img');
			//alert('xtraImg: ' + xtraImg.length);
			if(mainImg && xtraImg.length > 1) {
				for(var a = 0; a < xtraImg.length; a++) {
					var el = xtraImg[a];
					//el.style.cursor = 'pointer';
					DDH.addEventHandler(el, 'click', function(event) {
						var img = (event.target || event.srcElement);
						var oImg = img.src;
						//alert(oImg);
						var delen = oImg.split('thumbs');
						
						// normale afbeelding vervangen
						var nImg = delen[0] + 'thumbs' + delen[1];
						DDH.$('prod_main_foto').src = nImg;
						
						// large afbeelding vervangen
						var lImg = delen[0] + 'large' + delen[1];
						DDH.$('largepic').href = lImg;
					});
				};
			}
		},
		
		
		set_cart_updater : function() {
			var sels = DDH.$('cart').getElementsByTagName('select');
			if(sels && sels.length > 0) {
				for(var a = 0; a < sels.length; a++) {
					DDH.addEventHandler(sels[a], 'change', function(event) {
						var el = (event.target || event.srcElement);
						el.parentNode.submit();
					});
				};
			}
		},
		
		// functie die controleert of verplichte velden op info aanvraag form ingevuld zijn
		check_info_aanvraag_form : function() {
			var form = DDH.$('infoaanvform');
			if(form) {
				DDH.addEventHandler(form, 'submit', function() {
					var err = 0;
					if(DDH.$('bedrijfsnaam') && DDH.$F('bedrijfsnaam') == '' && err == 0) {
						DDH.show('bedrijfsnaamerr');
						err++;
					} else {
						DDH.hide('bedrijfsnaamerr');
					}
					if(DDH.$('telefoon') && DDH.$F('telefoon') == '' && err == 0) {
						DDH.show('telefoonerr');
						err++;
					} else {
						DDH.hide('telefoonerr');
					}
					if(DDH.$('telefoon') && DDH.$F('telefoon').length < 10 && err == 0) {
						DDH.show('telefoonerr2');
						err++;
					} else {
						DDH.hide('telefoonerr2');
					}
					if(DDH.$('email') && DDH.$F('email') == '' && err == 0) {
						DDH.show('emailerr');
						err++;
					} else {
						DDH.hide('emailerr');
					}
					if(DDH.$('email') && OmegaShop.validateEmailAddress(DDH.$F('email')) != true && err == 0) {
						DDH.show('emailerr2');
						err++;
					} else {
						DDH.hide('emailerr2');
					}
					if(err == 0) {
						form.submit();
					} else {
						return false;
					}					
				});
			}
		},
		
		check_contact_form : function(form) {
			var err = 0;
			if(DDH.$('bedrijfsnaam') && DDH.$F('bedrijfsnaam') == '' && err == 0) {
				DDH.show('bedrnaamerr');
				err++;
			} else {
				DDH.hide('bedrnaamerr');
			}
			if(DDH.$('naam') && DDH.$F('naam') == '' && err == 0) {
				DDH.show('naamerr');
				err++;
			} else {
				DDH.hide('naamerr');
			}
			if(DDH.$('telefoon') && DDH.$F('telefoon') == '' && err == 0) {
				DDH.show('telerr');
				err++;
			} else {
				DDH.hide('telerr');
			}
			if(DDH.$('telefoon') && DDH.$F('telefoon').length < 10 && err == 0) {
				DDH.show('telerr2');
				err++;
			} else {
				DDH.hide('telerr2');
			}
			if(DDH.$('email') && DDH.$F('email') == '' && err == 0) {
				DDH.show('mailerr');
				err++;
			} else {
				DDH.hide('mailerr');
			}
			if(DDH.$('email') && OmegaShop.validateEmailAddress(DDH.$F('email')) != true && err == 0) {
				DDH.show('mailerr1');
				err++;
			} else {
				DDH.hide('mailerr1');
			}
			if(err == 0) {
				form.submit();
			} else {
				return false;
			}
		},
		
		check_headset_form : function(form) {
			var err = 0;
			if(DDH.$('bedrijfsnaam') && DDH.$F('bedrijfsnaam') == '' && err == 0) {
				DDH.show('bedrnaamerr');
				err++;
			} else {
				DDH.hide('bedrnaamerr');
			}
			if(DDH.$('naam') && DDH.$F('naam') == '' && err == 0) {
				DDH.show('naamerr');
				err++;
			} else {
				DDH.hide('naamerr');
			}
			if(DDH.$('telefoon') && DDH.$F('telefoon') == '' && err == 0) {
				DDH.show('telerr');
				err++;
			} else {
				DDH.hide('telerr');
			}
			if(DDH.$('telefoon') && DDH.$F('telefoon').length < 10 && err == 0) {
				DDH.show('telerr2');
				err++;
			} else {
				DDH.hide('telerr2');
			}
			if(DDH.$('email') && DDH.$F('email') == '' && err == 0) {
				DDH.show('mailerr');
				err++;
			} else {
				DDH.hide('mailerr');
			}
			if(DDH.$('email') && OmegaShop.validateEmailAddress(DDH.$F('email')) != true && err == 0) {
				DDH.show('mailerr1');
				err++;
			} else {
				DDH.hide('mailerr1');
			}
			if(DDH.$('SFRM_Voorwaarden') && DDH.$('SFRM_Voorwaarden').checked != true && err == 0) {
				DDH.show('SFRMerr');
				err++;
			} else {
				DDH.hide('SFRMerr');
			}
			
			if(err == 0) {
				form.submit();
			} else {
				return false;
			}
		},
		
		validateEmailAddress : function(str) {

			var at="@"
			var dot="."
			var lat=str.indexOf(at)
			var lstr=str.length
			var ldot=str.indexOf(dot)
			if (str.indexOf(at)==-1){
			   return false
			}

			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			   return false
			}

			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			    return false
			}

			 if (str.indexOf(at,(lat+1))!=-1){
			    return false
			 }

			 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			    return false
			 }

			 if (str.indexOf(dot,(lat+2))==-1){
			    return false
			 }
			
			 if (str.indexOf(" ")!=-1){
			    return false
			 }

	 		 return true					
		},
		
		activeer_lightwindow : function() {
			//document.write('<link rel="stylesheet" type="text/css" href="css/lightwindow.css">');
		}
	
	
	
	
	};
	
}();