
var adserverConf = {
	version:'2012.02.21',
	service:{"sites":[{"domain":"cnetturkiye.com","id":1}]},
	debug:false,
	adserverDisable:false,
	trace:false
}

var cJclient = {
	host:window.location.host,
	browser:{ ie:{check:false,version:0}, mozilla:{check:false,version:0},opera:{check:false,version:0},safari:{check:false,version:0},chrome:{check:false,version:0} },
	init:function(){
		this.browsers();
		if(parseInt(cJclient.getQuerystring('trace')) > 0){
			adserverConf.trace = true;
		}
	},
	getQuerystring:function(key, default_){
	  if (default_==null){ default_=""; }
	  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
	  var qs = regex.exec(window.location.href);
	  return  qs == null ?  default_:qs[1];
	},
	browsers:function(){
		var ua  = navigator.userAgent.toString();
		var brw = {IE:'MSIE',MZ:'Mozilla',OP:'Opera',AP:'AppleWebKit',CH:'Chrome'};
		if ((i = ua.indexOf(brw.IE)) >= 0){
			this.browser.ie.check = true;
			this.browser.ie.version = parseFloat(this.trim(ua).substr(i + brw.IE.length));
		}else if((i = ua.indexOf(brw.MZ)) >= 0 && ua.indexOf(brw.AP) < 0 ){
			this.browser.mozilla.check = true;
			this.browser.mozilla.version = parseFloat(ua.substr(ua.indexOf('Firefox')+8,4));
		}else if((i = ua.indexOf(brw.OP)) >= 0){
			this.browser.opera.check 	= true;
			this.browser.opera.version = parseFloat(this.trim(ua).substr(brw.OP.length+1,2));
		}else if ( (i = ua.indexOf(brw.AP)) >= 0 && (i = ua.indexOf(brw.CH)) <1 ) {
			this.browser.safari.check = true;
		}else if ((i = ua.indexOf(brw.CH)) >= 0) {
			this.browser.chrome.check = true;
			this.browser.chrome.version = parseFloat(ua.substr(i+brw.CH.length+1,3));
		}		
		else {
			return false;
		}
	},
	getClassName:function(cc,object){
		var ads = document.getElementsByTagName(adserverConf.elem);
		var object = typeof object === 'undefined' || object ? true:false;
		
		var elem=[];
		for(var i=0;i<ads.length;i++){
			if(ads[i].className === cc  && this.getStyle(ads[i],'display') === 'block' ){
				object ? elem.push(window[ads[i].name]):elem.push(ads[i]);
			}
		}
		return elem;
	},
	getStyle:function(el, property) {
		if (!el) { return null; }
		if (el.currentStyle) {
			return el.currentStyle[property];
		} else if (window.getComputedStyle) {
			return document.defaultView.getComputedStyle(el, null).getPropertyValue(property);
		}
		return null;
	},
	setStyle:function(elem,style){
		if(cJclient.browser.ie.check){
			elem.style.cssText = style;
    	}else{
    		elem.setAttribute("style",style);
    	}
	},
	addStyle:function(elem,style){
		var oldstyle;
		var elem = document.getElemetById(elem);
		oldstyle = cJclient.browser.ie.check ? elem.cssText:elem.getAttribute("style");
		oldstyle +=style.toString();
		if(cJclient.browser.ie.check){
			elem.style.cssText = oldstyle;
    	}else{
    		elem.setAttribute("style",oldstyle);
    	}

	},
	str_replace:function (haystack, needle, replacement) {
		var temp = haystack.split(needle);
		return temp.join(replacement);
	},
	setCookie:function(name, value, day,  domain, path, secure){
		if(value.length > 4000)	return false;
		day = parseInt(day);
		if(day !== 0 ){
			var d=new Date();
				d.setTime( d.getTime()+ (day*60*1000*60*24) );  
			var expires="; expires="+d.toGMTString();  
		}else{
			var expires = "";
		}
		var path   = path ?   ";path="+path:';path=/';
		var domain = domain ? ";domain="+domain:'';
		var secure = secure ? ";secure="+secure:'';
		document.cookie = name+"="+value+expires+path+domain+secure; 
	},
	getCookie:function (search_name,noescape) { 
	  var tab_cookies = document.cookie.split(';'); 
	  for (var i = 0; i<tab_cookies.length;i++){ 
	    var cookie_tmp = tab_cookies[i].split('='); 
	    var cookie_name = this.trim(cookie_tmp[0]); 
	    if (cookie_name==search_name) { 
	      if (cookie_tmp.length>1) {
		  	if(typeof noescape == "undefined") {
				return unescape( this.trim(cookie_tmp[1]) ); 
			}else{
				return this.trim( cookie_tmp[1] ); 
			}
	      } 
	      return ''; 
	    } 
	  } 
	  return ''; 
	},
	checkServiceId:function(){
		var hostID = 0;
		for (var i = 0; i< adserverConf.service.sites.length; i++ ){
			if( cJclient.host ===adserverConf.service.sites[i].domain){
				hostID = adserverConf.service.sites[i].id
				break;
			}
		}
		return hostID;
	},
	mktime:function(out){
	   var time =new Date().getTime(); 	
	   return Math.floor(( out===1 ? time/1000:time));
	},
	trim:function(str){
		return str.replace(/^\s+|\s+$/g,"");
	},
	trace:function(msg){
		if(adserverConf.trace && window.addEventListener )
		{
			console.warn(msg)
		}
	},
	addEvent:function(element,olay,fonksiyon){
	    if (window.addEventListener != null) { // Firefox,Safari
	        olay = olay.substr(2);
	        element.addEventListener(olay,fonksiyon,false);
		}else{
			element.attachEvent (olay,fonksiyon);
		}
	},
	empty: function(mixed_var) {
		// !No description available for empty. @php.js developers: Please update the function summary text file.
		// 
		// version: 1109.2015
		// discuss at: http://phpjs.org/functions/empty
		// +   original by: Philippe Baumann
		// +      input by: Onno Marsman
		// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +      input by: LH
		// +   improved by: Onno Marsman
		// +   improved by: Francesco
		// +   improved by: Marc Jansen
		// +   input by: Stoyan Kyosev (http://www.svest.org/)
		// *     example 1: empty(null);
		// *     returns 1: true
		// *     example 2: empty(undefined);
		// *     returns 2: true
		// *     example 3: empty([]);
		// *     returns 3: true
		// *     example 4: empty({});
		// *     returns 4: true
		// *     example 5: empty({'aFunc' : function () { alert('humpty'); } });
		// *     returns 5: false
		var key;
	 
		if (mixed_var === "" || mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false || typeof mixed_var === 'undefined') {
			return true;
		}
	 
		if (typeof mixed_var == 'object') {
			for (key in mixed_var) {
				return false;
			}
			return true;
		}
	 
		return false;
	},
	in_array:function(needle, haystack, argStrict) {
		// Checks if the given value exists in the array  
		// 
		// version: 1109.2015
		// discuss at: http://phpjs.org/functions/in_array
		// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   improved by: vlado houba
		// +   input by: Billy
		// +   bugfixed by: Brett Zamir (http://brett-zamir.me)
		// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
		// *     returns 1: true
		// *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
		// *     returns 2: false
		// *     example 3: in_array(1, ['1', '2', '3']);
		// *     returns 3: true
		// *     example 3: in_array(1, ['1', '2', '3'], false);
		// *     returns 3: true
		// *     example 4: in_array(1, ['1', '2', '3'], true);
		// *     returns 4: false
		var key = '',
			strict = !! argStrict;
	 
		if (strict) {
			for (key in haystack) {
				if (haystack[key] === needle) {
					return true;
				}
			}
		} else {
			for (key in haystack) {
				if (haystack[key] == needle) {
					return true;
				}
			}
		}
	 
		return false;
	},
	jsimport:function(url){
		window.setTimeout(function(){
		var newelem = document.createElement("script");
			newelem.setAttribute("language","javascript");
			newelem.setAttribute("type","text\/javascript");
			newelem.setAttribute("src",url);
			(document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(newelem);
		},100);	
	}		
}



//Banner Load
var mynetClientServer={
		url:'http://servad.mynet.com/admynet/madjso.asp',
		DOMREADY:false,
		banners:[],
		adHTML:[],
		error:[],
		startserver:0,
		writecount:0,
		wend:0,
		mytag:[],
		sayyacUniqRequest:[],
		sayyacBanners:[],
		sayyacRequestHost:'',
		addBanner:function(name,id,conf){
			if( typeof conf == "undefined" ) 
			{
				this.banners.push({"name":name,"id":id,"count":0,"html":""});
			}
			else
			{
				if( this.getConf(conf) )
				{
					this.banners.push({"name":name,"id":id,"count":0,"html":""});
				}
			}
		},
		getConf:function(data){
			for(var i=0;i<data.check.length;i++)
			{
				if (data.check[i].key === 'screen' && window.screen.width <= data.check[i].value)
				{
					return false;
				}
			}
			return true;
		},
		bannerInfo:function(name){
			//mynetClientServer.bannerInfo('tepe')
			//return banner html
			var html = '';
			for(var i=0; i<this.banners.length; i++){
				
				if(this.banners[i].name == name){
					html = this.banners[i];
					break;
				}
			}
			return html;
		},
		bannerLength:function(name){
			//mynetClientServer.bannerLength('tepe')
			//return banner html
			var html = 0;
			for(var i=0; i<this.banners.length; i++){
				
				if(  this.banners[i].name == name){
					html = this.banners[i].html.length;
					break;
				}
			}
			return html;
		},		
		adservertest:function(size){
									
			var url = "http://sayyac.mynet.com/gosterim/287?tafsil=0&";
				url += "tags="+size+"-"+window.location.host.split(".").reverse().slice(0,3).reverse().join("-")+"&rnd="+Math.random()
				
			this.sayyacUniqImport(url);	 
		},
		//Sayyac Banner alanlari sayimi
		sayyacUniqImport:function(url){
		
			if ( !cJclient.in_array(url,this.sayyacUniqRequest) )
			{				
				this.sayyacUniqRequest.push(url);
				cJclient.jsimport(url);												
			}	
			
		},
		adservertest:function(size){
				 
		},
		//Sayyac Banner alanlari sayimi
		AddServerCounter:function(id,tag){
			var tag = tag.replace(/;/g,'::');	
			this.sayyacBanners.push(tag+"::"+this.sayyacRequestHost )
		},
		
		//Sayyac Banner alanlari sayimi
		sayyacServerCountRequest:function(){			
						
			var tags = this.sayyacBanners.join(",")
			var url  = "http://sayyac.mynet.com/gosterim/297?tafsil=0&tags="+tags+"&rnd="+Math.random();						
			this.sayyacUniqImport(url);

		},
		bind:function(data){
			for(var i=0;i<data.data.length;i++)
			{
				var html = data.data[i].r.toString().replace('mynetAdsRandom',cJclient.mktime());
				this.banners[i].html = html
			}
			
			//cookies set
			this.adsCookies(data.c);

			//sayyac tarafinda domainleri ayarlar
			this.sayyacRequestHost = window.location.host.split(".").reverse().slice(0,3).reverse().join(".").replace(/[0-9]/ig,"");			
			this.sayyacRequestHost = this.sayyacRequestHost.indexOf("mynet") < 1 ? "diger-domainler":this.sayyacRequestHost;
			
			
			if ( typeof data.sayyac != "undefined" )
			{
				for(var i=0;i<data.sayyac.length;i++)
				{
					var sid = data.sayyac[i].id;
					var stag = data.sayyac[i].tag.toString();
					this.AddServerCounter(sid,stag);
				}
		
				//Sayyac sayimi icin istek gonder
				this.sayyacServerCountRequest();
			}

		},
		adsCookies:function(cookies){
			if(typeof cookies === 'undefined' ){ return false; }
			
			for (var i = 0; i < cookies.length; i++) {
				
				//mytag entegrasyonu
				if( cookies[i].n == "mytag"){
					var myv =cookies[i].v.split('x');
					var nmyv=[];
					
					for(var k=0; k<myv.length; k++ )
					{	
										
						if( !cJclient.in_array(myv[k],this.mytag) )
						{
							nmyv.push(myv[k]);
							
						}
					}
					cookies[i].v = nmyv.join('x');
				}
				
				cJclient.setCookie( cookies[i].n, cookies[i].v, cookies[i].e, cookies[i].d);
			}
		},
		write:function(name,classname){
			var html = nhtml = '';
			
			for(var i=0;i<this.banners.length;i++)
			{
				if ( this.banners[i].name == name)
				{
					html = this.banners[i].html;
					this.banners[i].count++; 
					break;
				}
			}
			
			if ( typeof classname !== 'undefined'){

				classname = classname.split(" ");
				$wrapDiv  = [];
				for(var i in classname){
					if (classname[i].indexOf('#') > -1){
						$wrapDiv.push('id="'+classname[i].replace('#','')+'"');
					}else if (classname[i].indexOf('.') > -1){
						$wrapDiv.push('class="'+classname[i].replace('.','')+'"');
					}else{
						$wrapDiv.push('class="'+classname[i]+'"');
					}					
				}
				nhtml  = '<div '+$wrapDiv.join(' ')+' >';
				
				nhtml += html;
				nhtml += '</div>';
				html   = nhtml;
			}						
			
			document.write(html)
			this.writecount++;
		},
		end:function(){
			
			if( this.wend > 0 || cJclient.getCookie('_reklamkontrol') != '1' ){
				return false;
			}
			
			this.wend++;
			
			this.bannerCheck();
		
						
		},
		bannerCheck:function(){
			var text='';			
			for(var i=0;i<this.banners.length;i++)
			{
				var wcount = parseInt(this.banners[i].count);	
				if( wcount < 1 )
				{
					text += i+' - "'+this.banners[i].name + '" b\u00F6lgesinde banner olmas\u0131na ra\u011Fmen g\u00F6sterilmiyor \n\n';
					
				}else if( wcount > 1 ){
					text += i+' - "'+this.banners[i].name + '" b\u00F6lgesinde banner fazla ekrana bas\u0131lm\u0131\u015F. ('+wcount+' kez)   \n\n ';
				}												
			}
			
			if(text.length > 0){
				alert(text);
			}
			
		},
		debug:function(msg){
			if( adserverConf.debug && window.addEventListener )
			{
				console.warn(msg);
			}
		},
		start:function(){
			// window.location.search.indexOf('fb_xd_') > -1 kontrolu
			// ?fb_xd_fragment#?=&cb=f3c074610fe365&relation=parent&transport=fragment&frame=f171674bf63a83f&error=not_authorized'
			// seklindeki cagrilarda reklam cekmemek icin yapıldi.

			if( window.location.search.indexOf('fb_xd_')> -1 ||  mynetClientServer.startserver > 0 || adserverConf.adserverDisable === true )
			{
				return false;
			}
			
			mynetClientServer.startserver = 1;			
			var rnf=[];
			
			try	{
				
				for(var i=0;i<this.banners.length;i++)
				{
					rnf.push(this.banners[i].id)
				}
				
				this.jsinit(rnf.join(","));
				
			}catch(e){}		
		},
		jsinit:function(rnf){
			var u= this.url+'?cf=mynetClientServer.bind&mid='+rnf;
			u +='&s='+cJclient.checkServiceId();
			u +='&a='+cJclient.getCookie('AdHistory');
			u +='&n='+cJclient.getCookie('numToCompare');
			u +='&m='+this.getmytag();
			u +='&uv='+cJclient.getCookie('mynetUv');
			u +='&tmp='+cJclient.mktime();
			this.jsimport(u);
		},
		jsimport:function(url){
			
			document.write("<script type='text/javascript' src='http://s.mynet.com.tr/ads/v3/inc/AC_ALL.js?26'></script>");
			document.write('<script type="text/javascript" src="'+url+'"></script>');
			return false;
		},
		getmytag:function(){
			var mytag = cJclient.getCookie('mytag');
			if( mytag.length > 0 ){
				mytag = mytag.split('x');
				
				for(var k=0; k<this.mytag.length; k++ )
				{
					if( !cJclient.in_array(this.mytag[k],mytag) )
					{					
						mytag.push(this.mytag[k]);
					}
				}

				mytag = mytag.join('x');
			}else{
				mytag = this.mytag.join('x');
			}
			return mytag;
		},
		addmytag:function(mytag){
			this.mytag.push(mytag);
		},
		anket:function(){
		}
		
}

cJclient.addEvent(window,'onload',function(){ mynetClientServer.end() })


