/*-----------------------------*/
/* updates*/
/*-----------------------------*/
/* 2009-02-20 Pejman Ramezanpour: got rid of the DE elemnts */
// Function for DCOPT Variable

/* +-------------------------------------------------
   |  DCOPT handler
   +------------------------------------------------- */		
var _dcopt_data           = new Array();    // internal data
var _dcopt_html           = new Array();    // external html
var _dcopt_data_functions = new Array();    // internal functions

/* +-------------------------------------------------
	|  fctDcopt()
	|    processes all declared dcopt
	+------------------------------------------------- */		
function fctDcopt() {
	var params = (arguments.length) ? arguments[0] : {};
	
	// for each dcopt
	//----------------------
	for (var type in _dcopt_html) {

		if ( typeof(_dcopt_html[type]) == "function" ) continue;
		
		var html = _dcopt_html[type];

		// div
		//----------------------
		var div = document.createElement('div');
		div.setAttribute('id', 'dcopt_'+type);
		document.body.appendChild(div);
		
		// specific function
		//----------------------
		if (typeof(_dcopt_data_functions[type]) == 'function') {
		    _dcopt_data_functions[type](params);
		}

		// append content
		//----------------------
		document.getElementById('dcopt_'+type).innerHTML = html;
	}

	return false;
}

function get_dcopt(mytile){
//	dcopt =  'ist';  
	if( mytile == 1 ) {
		dcopt =  'ist';  
	}
	else{
		dcopt =  ''; 
	}	    
	return dcopt;
}
// End function get_dcopt

function buildTag(tag_start,tag_end,tag_options,seperator) {
	var ad_tag = tag_start;
	for (var i in tag_options) {
		if(tag_options[i] != "" && ( typeof(tag_options[i]) == 'string' || typeof(tag_options[i]) == 'number')  ) {
			if (ad_tag != "") ad_tag += seperator;
			ad_tag = ad_tag + i + "=" + tag_options[i];
		}
	}
	ad_tag =  ad_tag + tag_end;
	return ad_tag;
}

function fctAdTag(position,objDfp,posId)
{		
	var size = GetDim(position); // Size Variable
	var my_dcopt =get_dcopt(objDfp.tile); // DCOPT Variable

	var my_keyword = get_keyword( 'q' );// motcle variable in LaToile
	my_keyword = my_keyword.replace(/%20/,"+");

	var tag_options = new Array();
	
	if ( objDfp.dfpSwitch != null && objDfp.dfpSwitch[position] ) {
		return;
	} else {			

		var tag_start = '<script type="text\/javascript" src="http:\/\/ad.doubleclick.net\/adj\/'+objDfp.networkid+'.'+objDfp.language+'.'+objDfp.division+'.'+objDfp.mainsection+'\/'+objDfp.sectionLevel2;
		var tag_end = '?"><\/script>';
		var seperator = ";";
		
		tag_options["subz1"] = CheckProperties(objDfp,'sectionLevel3');
		tag_options["subz2"] = CheckProperties(objDfp,'sectionLevel4');
		tag_options["subz3"] = CheckProperties(objDfp,'sectionLevel5');
		tag_options["kw"] = CheckProperties(objDfp,'my_keyword');
		tag_options["tile"] = CheckProperties(objDfp,'tile');
		tag_options["sz"] = size;
		tag_options["dcopt"] = my_dcopt;
		tag_options["pos"] = posId;
		/* tag_options["hp"] = CheckProperties(objDfp,'hp'); */

		//---------------------------------//
		//-- optional: add special keys  --//
		//---------------------------------//
		if (objDfp.dfpSpeKey != null) {			
			for (var itemKey in objDfp.dfpSpeKey) {
				tag_options[itemKey] = objDfp.dfpSpeKey[itemKey];					
			}
		}
		
		if (CheckProperties(objDfp,'ForceHP') != "") { 
			tag_options["hp"] = CheckProperties(objDfp,'ForceHp');
		} else {
			if (( CheckProperties(objDfp,'sectionLevel2') != '' 
				&& CheckProperties(objDfp,'sectionLevel2') != 'accueil' 
				&& CheckProperties(objDfp,'sectionLevel2') != 'home'
				)
				
				|| 

				( CheckProperties(objDfp,'sectionLevel3') != '' 
				&& CheckProperties(objDfp,'sectionLevel3') != 'accueil'
				&& CheckProperties(objDfp,'sectionLevel3') != 'home' 
				)
				){
				tag_options["hp"] = 1;
			}			
		}
	
		tag_options["mk"] = CheckProperties(objDfp,'mk');
		tag_options["mdl"] = CheckProperties(objDfp,'mdl'); // note l is lower case L
		tag_options["prov"] = CheckProperties(objDfp,'prov');

		//ord must always be the last item in the array
		tag_options["ord"] = CheckProperties(objDfp,'rand_num');

		document.write(buildTag(tag_start,tag_end,tag_options,seperator));
	}
	
	objDfp.tile++;
}
