function addWindowLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

// xAddEventListener, Copyright 2001-2006 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL
function xAddEventListener(e,eT,eL,cap)
{
  if(!(e=xGetElementById(e)))return;
  eT=eT.toLowerCase();
  if(e.addEventListener)e.addEventListener(eT,eL,cap||false);
  else if(e.attachEvent)e.attachEvent('on'+eT,eL);
  else e['on'+eT]=eL;
}

var currentBox = '';

/**********BEGIN Determine Document Size************* / /*Bekir*/
myDocumentWidth = 0, myDocumentHeight = 0;
alertSize();
function alertSize() {
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myDocumentWidth = window.innerWidth;
    myDocumentHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myDocumentWidth = document.documentElement.clientWidth;
    myDocumentHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myDocumentWidth = document.body.clientWidth;
    myDocumentHeight = document.body.clientHeight;
  }
}
/**********END Determine Document Size*************/

/**********BEGIN Determine Scroll*************/ /*Bekir*/
scrOfX = 0, scrOfY = 0;
function getScrollXY() {
  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;
  }
}
/**********END Determine Scroll*************/

function showHelp(clink,box,offx,offy) {
	alertSize();
	getScrollXY();
	try {
		box = xGetElementById(box);
		//default offsets from top left corner of link
		if (!offx) {
			if (xPageY(clink)>=scrOfY+myDocumentHeight-100){ /*Bekir*/
				offx=-100; /*Bekir*/
				}
			else {offx=-20;}
		}
		if (!offy) {
			if (xPageX(clink)>=myDocumentWidth-450){ /*Bekir*/
				offy=-400; /*Bekir*/
				}
			else {offy=8;}
		}
		mtop = xPageY(clink)-xPageY(box)+xTop(box)+offx;
		mleft = xPageX(clink)-xPageX(box)+xLeft(box)+offy;
		xMoveTo(box,mleft,mtop);
		currentBox = box.id;
		setTimeout( "show('"+ box.id + "')", 1000);
	} catch ( e ) {}
}

function showPop(clink,box,offx,offy) {
	alertSize();
	getScrollXY();
	try {
		box = xGetElementById(box);
		if (!offx) {
			if (myDocumentWidth<=800)
			offx=0;
			else offx=230;
		}
		if (!offy) {
			if (myDocumentHeight<=600)
			offy=(myDocumentHeight+scrOfY)-(myDocumentHeight-(myDocumentHeight/3));
			if (scrOfY<50)
			offy=(myDocumentHeight+scrOfY)-(myDocumentHeight-(myDocumentHeight/4));
			else
			offy=(myDocumentHeight+scrOfY)-(myDocumentHeight-(myDocumentHeight/20));
		}
		mtop = offy;
		mleft =offx;
			xMoveTo(box,mleft,mtop);
			currentBox = box.id;
			$('#'+box.id).show();
		
	} catch ( e ) {}
}

function showHelpMore(clink,box,offx,offy) {
	alertSize();
	getScrollXY();
	try {
		box = xGetElementById(box);
		//default offsets from top left corner of link
		if (!offx) {
			if (xPageY(clink)>=scrOfY+myDocumentHeight-100){ /*Bekir*/
				offx=-100; /*Bekir*/
				}
			else {offx=-40;}
		}
		if (!offy) {
			if (xPageX(clink)>=myDocumentWidth-350){ /*Bekir*/
				offy=-400; /*Bekir*/
				}
			else {offy=30;}
		}
		mtop = xPageY(clink)-xPageY(box)+xTop(box)+offx;
		mleft = xPageX(clink)-xPageX(box)+xLeft(box)+offy;
		xMoveTo(box,mleft,mtop);
		currentBox = box.id;
		setTimeout( "show('"+ box.id + "')", 1000);
	} catch ( e ) {}
}



function show( box ) {
	if ( currentBox == box ) {
		box = xGetElementById(box);
		xShow(box);
	}
}

function showHelpLeftSide(clink,box,offx,offy) {

	box = xGetElementById(box);
	//default offsets from top left corner of link
	if (!offx) {
		offx=8;
	}
	if (!offy) {
		offy=-250;
	}
	mtop = xPageY(clink)-xPageY(box)+xTop(box)+offx;
	mleft = xPageX(clink)-xPageX(box)+xLeft(box)+offy;
	xMoveTo(box,mleft,mtop);
	currentBox = box.id;
	setTimeout( "show('"+box.id+"')", 1000);
}

function closeHelp(box) {
		currentBox = '';
		var boxElement = xGetElementById(box);
		$( '#' + box ).mouseover( function() { $( '#' + box ).hover(function(){
		currentBox = box;
		 xShow( boxElement ); 
		},function(){
		  xHide( boxElement );
		}); } );
		setTimeout( "xxHide('"+box+"')", 1000 );
}

function xxHide( boxId ) {
	if ( currentBox != boxId ) {
		xHide( xGetElementById( boxId ) );
	}
}

function showHelpOnclick(clink,box,offx,offy) {
	
	box = xGetElementById(box);
	//default offsets from top left corner of link
	if (!offx) {
		offx=8;
	}
	if (!offy) {
		offy=8;
	}
	mtop = xPageY(clink)-xPageY(box)+xTop(box)+offx;
	mleft = xPageX(clink)-xPageX(box)+xLeft(box)+offy;
	xMoveTo(box,mleft,mtop);
	xShow(box);
}

function showHelpLeftSideOnclick(clink,box,offx,offy) {

	box = xGetElementById(box);
	//default offsets from top left corner of link
	if (!offx) {
		offx=8;
	}
	if (!offy) {
		offy=-250;
	}
	mtop = xPageY(clink)-xPageY(box)+xTop(box)+offx;
	mleft = xPageX(clink)-xPageX(box)+xLeft(box)+offy;
	xMoveTo(box,mleft,mtop);
	xShow(box);
}


function toggleTarget(myCheckbox,base_id) {
	var parentCheckbox = xGetElementById(base_id);
	var myContents = xGetElementById(base_id+'_targeting');
	//show or else hide
	if (myCheckbox.checked) {
		//make sure that appropriate checkbox is checked
		parentCheckbox.checked=true;
		//show targeting form
		myContents.style.display='block';
	} else {
		//hide form
		myContents.style.display='none';
		
	}
}
function homeToggle(base_id) {
	clink=xGetElementById(base_id+'-trg');
	box = xGetElementById(base_id);
	curState = xGetComputedStyle(box,'display');
	if (curState == 'block') {
		//collapse
		box.style.display='none';
		clink.innerHTML = '<span>expand</span>';
	} else {
		//expand
		box.style.display='block';
		clink.innerHTML = '<span>collapse</span>';
	}
}
function setTab(clink,tabset,panelid) {
	tabUL = xGetElementById(tabset);
	tabLIs = xGetElementsByTagName('LI',tabUL);
	clickedLI = xParent(clink,true);
	panel = xGetElementById(panelid);
	panels = xGetElementsByClassName(tabset,null,'DIV');
	//close all help divs before switching tabs
	helps = xGetElementsByClassName('help-box',null,'DIV');
	for (var i = 0; i < helps.length; ++i) {
		xHide(helps[i]);
	}
	//reset all tabs and panels
	for (var i = 0; i < tabLIs.length; ++i) {
		tabLIs[i].className = tabLIs[i].className.replace('active', '' );
	}
	for (var i = 0; i < panels.length; ++i) {
		panels[i].style.display='none';
	}
	//make clicked active
	clickedLI.className += ' active';
	panel.style.display = 'block';
}
function updatePagination(destDiv, srcDiv) {
	destDiv = xGetElementById(destDiv);
	srcDiv = xGetElementById(srcDiv);
	if (destDiv) {
		if (srcDiv) {
			destDiv.innerHTML = srcDiv.innerHTML;
		} else {
			destDiv.innerHTML = '';
		}
	}
}
function toggleAdvanced(clink,box) {
	box = xGetElementById(box);
	curState = xGetComputedStyle(box,'display');
	if (curState == 'block') {
		//collapse
		box.style.display='none';
		clink.className='closed';
	} else {
		//expand
		box.style.display='block';
		clink.className='';
	}
}
function setPreviewImage(isrc,iwidth,iheight) {
		mimg = xGetElementById('preview-img');
	mimg.src = isrc;
	mimg.width = iwidth;
	mimg.height = iheight;
}

//Placement preview part

var placementPrevHide=true;

function placementPreview( event, element, placementId ) {

if(onmove){
		event = event1;
		element = element1;
		placementId = placementId1;
}

	if ( element != null && element.id !=  null ) {
	
		onmove = false;
		
		placementPrevHide = false;
		var placementPopupUrl = 'placementpreview.action?preview&placementId='+placementId+'&width=400';
		
	    $("#"+element.id)
	    .hover(
		    function(){ return false; },
		    function(){
		    	placementPrevHide = true;
			    $('#placement_info').mouseover(
				    function(){
				    	placementPrevHide = false;
					   $('#placement_info').hover(
						    function(){
					  				return false
							},function(){
				 	 			$('#JT').remove();
				    		}
			    		); 
					}
				);
				setTimeout( "pHideJT()", 500 );
	    	}
	    	);
	    	if( showPreview != 'false')
				JT_show(placementPopupUrl,element.id,this.name,element,event);	
	}
}

function pHideJT() {
	if ( placementPrevHide ) {
		$('#JT').remove();
	}
}

var onmove = false;
var event1;
var element1;
var placementId1;
var showPreview = '';

function placementPreviewWithDelay( event, element, placementId ) {
		onmove = true;
		event1 = event;
		element1 = element;
		placementId1 = placementId;
		showPreview = '';
		setTimeout("placementPreview()",1000);
}

function placementPreviewHide() {
	showPreview = 'false';
}

// Offer preview part

var offerPrevHide=true;

function offerPreview( event, element, offerId, offerFormatId, placementId, useWebsplit, usePlacementOC, noDetail, approval ) {

if(onOfferMove){
		event = event2;
		element = element2;
		offerId = offerId2;
		placementId = placementId2;
		useWebsplit = useWebsplit2;
		usePlacementOC = usePlacementOC2;
		noDetail = noDetail2;
		offerFormatId = offerFormatId2;
		approval = approval2
}


	if ( element != null && element.id !=  null ) {
	
		onOfferMove = false;
		
		offerPrevHide = false;
		
		
		var offerPopupUrl = 'offerpreview.action?preview&offerId='+offerId+'&width=400';
		
		if ( offerFormatId ) {
			offerPopupUrl += '&offerFormatId='+offerFormatId;
		}
		
		if ( placementId != null ) {
			offerPopupUrl += '&placementId='+placementId;
		}
		
		if ( usePlacementOC ) {
			offerPopupUrl += '&usePlacementOC=true';
		}
		
		if ( useWebsplit ) {
			offerPopupUrl += '&isWebsplit=true';
		}
		
		if ( noDetail ) {
			offerPopupUrl += '&noDetail=true';
		}
		
		if( approval ) {
		    offerPopupUrl += '&approve=true';
		}
		
	    $("#"+element.id)
	    .hover(
		    function(){ return false; },
		    function(){
		    	offerPrevHide = true;
			    $('#offerPreviewDiv').mouseover(
				    function(){
				    	offerPrevHide = false;
					   $('#offerPreviewDiv').hover(
						    function(){
					  				return false
							},function(){
				 	 			$('#JT').remove();
				    		}
			    		); 
					}
				);
				setTimeout( "oHideJT()", 500 );
	    	}
	    	);
	    	if( showOfferPreview != 'false')
				JT_show(offerPopupUrl,element.id,this.name,element,event);	
	}
}

function oHideJT() {
	if ( offerPrevHide ) {
		$('#JT').remove();
	}
}

var onOfferMove = false;
var event2;
var element2;
var offerId2;
var placementId2;
var useWebsplit2;
var usePlacementOC2;
var noDetail2;
var offerFormatId2;
var showOfferPreview = '';
var approval2 = false;

function offerPreviewWithDelay( event, element, offerId, offerFormatId, placementId, useWebsplit, usePlacementOC, noDetail ) {
		onOfferMove = true;
		
		event2 = event;
		element2 = element;
		offerId2 = offerId;
		placementId2 = placementId;
		useWebsplit2 = useWebsplit;
		usePlacementOC2 = usePlacementOC;
		noDetail2 = noDetail;
		offerFormatId2 = offerFormatId;
		
		showOfferPreview = '';
		
		setTimeout("offerPreview()",1000);
}

function offerPreviewHide() {
	showOfferPreview = 'false';
}

//Used just for new offers. With no offer ID yet
function newOfferPreviewWithDelay( event, element, offerId ) {
		onOfferMove = true;
		
		event2 = event;
		element2 = element;
		offerId2 = offerId;
		placementId2 = null;
		useWebsplit2 = false;
		usePlacementOC2 = false;
		noDetail2 = false;
		offerFormatId2 = false;
		approval2 = true;
		showOfferPreview = '';
		
		setTimeout("offerPreview()",1000);
}

function offerPreviewHide() {
	showOfferPreview = 'false';
}

function toggleOfferPrrWithDelay(id,placementId){
	var code = "toggleOfferPrr("+id+","+placementId+")";
    t=setTimeout(code,1500);
}
var offerPreviewing = false;
function toggleOfferPrr(id,placementId){
	if(offerPreviewing&&show)
		return false;
	offerPreviewing = true;
	$('#newOfferPr').html('');
	$('#newOfferPr').html('<div class="drsMoveHandle pr1"><span>'
						+'<span class="floatL">Offer Overview</span>'
						+'<span class="pop-close pr2"><img src="./img/pop-close.gif" alt="Close" /></span>'
						+'</span></div><div class="mainContainer3"><center><img src="./img/indicator.gif"></center>'
						+'<div class="clear"></div></div><div class="footer-img pr3"></div>');
	document.getElementById("newOfferPr").style.left="350px";
	document.getElementById("newOfferPr").style.top="90px";
	$('#newOfferPr').show();
	$.post("offerpreview.action?offerPreview&notForPub=false&isWebsplit=true", {offerId :id,placementId:placementId },
		    		function(data){
		    			$('#newOfferPr').html('');
		    			$('#newOfferPr').html(data);
						if ( show ) {
							setTab(document.getElementById("panel1Tab2"),'tabs2','tabs2-panel1');	
						}
						else {
							$('#newOfferPr').hide();
							offerPreviewing = false;
						}
		    		}
		    		);
}

function toggleOfferPrWithDelay( show,id,approve){
	var code = "toggleOfferPr("+show+","+id+","+approve+")";
    t=setTimeout(code,1500);
}
function stopOfferPreviewCount()
{
	clearTimeout(t)
}

function toggleOfferPr( show,id,approve ) {
	if(offerPreviewing&&show)
		return false;
	if ( show ) {
		offerPreviewing = true;
		$('#newOfferPr').html('');
		$('#newOfferPr').html('<div class="drsMoveHandle pr1"><span>'
							+'<span class="floatL">Offer Overview</span>'
							+'<span class="pop-close pr2"><a href="javascript:void(0);"onclick="toggleOfferPr(false);"><img src="./img/pop-close.gif" alt="Close" /></a></span>'
							+'</span></div><div class="mainContainer3"><center><img src="./img/indicator.gif"></center>'
							+'<div class="clear"></div></div><div class="footer-img pr3"></div>');
		document.getElementById("newOfferPr").style.left="350px";
		document.getElementById("newOfferPr").style.top="90px";
		$('#newOfferPr').show();
		if(approve){
		$.post("offerpreview.action?preview&approve=true", { offerId :id },
		function(data){
			
			$('#newOfferPr').html('');
			$('#newOfferPr').html(data);
			if ( show ) {
				setTab(document.getElementById("panel1Tab2"),'tabs2','tabs2-panel1');
				//$('#newOfferPr').show();
			}
			else {
				$('#newOfferPr').hide();
				offerPreviewing = false;
			}
		}
		);}
		else{
			$('#newOfferPr').html('');
			$('#newOfferPr').html('<div class="drsMoveHandle pr1"><span>'
								+'<span class="floatL">Offer Overview</span>'
								+'<span class="pop-close pr2"><a href="javascript:void(0);"onclick="toggleOfferPr(false);"><img src="./img/pop-close.gif" alt="Close" /></a></span>'
								+'</span></div><div class="mainContainer3"><center><img src="./img/indicator.gif"></center>'
								+'<div class="clear"></div></div><div class="footer-img pr3"></div>');
			document.getElementById("newOfferPr").style.left="350px";
			document.getElementById("newOfferPr").style.top="90px";
			$('#newOfferPr').show();
			$.post("offerpreview.action?preview", { offerId :id },
		function(data){
			$('#newOfferPr').html('');
			$('#newOfferPr').html(data);
			if ( show ) {
				setTab(document.getElementById("panel1Tab2"),'tabs2','tabs2-panel1');
				//$('#newOfferPr').show();
			}
			else {
				$('#newOfferPr').hide();
				offerPreviewing = false;
			}
		}
		);
		
		}
	}else{
		$('#newOfferPr').hide();
		offerPreviewing = false;
	}
}

var placementPreviewing = false;
var t;
function togglePlacementPrWithDelay(show,id){
	var code = "togglePlacementPr("+show+","+id+")";
    t=setTimeout(code,1500);
}
function stopPlacementPreviewCount()
{
	clearTimeout(t)
}
function togglePlacementPr(show,id){
	if(placementPreviewing && show)
		return false;
	if ( show ) {
		placementPreviewing = true;	
		$('#newPlacementPr').html('');
		$('#newPlacementPr').html('<div class="drsMoveHandle pr1"><span>'
								+'<span class="floatL">Placement Overview</span>'
								+'<span class="pop-close pr2"><a href="javascript:void(0);"onclick="togglePlacementPr(false);"><img src="./img/pop-close.gif" alt="Close" /></a></span>'
								+'</span></div><div class="mainContainer3"><center><img src="./img/indicator.gif"></center>'
								+'<div class="clear"></div></div><div class="footer-img pr3"></div>');
		document.getElementById("newPlacementPr").style.left="350px";
		document.getElementById("newPlacementPr").style.top="90px";
		$('#newPlacementPr').show();
		$.post("placementpreview.action?preview&", {placementId:id },
		    		function(data){
		    			$('#newPlacementPr').html('');
		    			$('#newPlacementPr').html(data);
						//document.getElementById("newPlacementPr").style.left="350px";
						//document.getElementById("newPlacementPr").style.top="90px";
					}
		    		);
	}
	else {
		$('#newPlacementPr').hide();
		placementPreviewing = false;
	}
}

function refreshPubGraph( id ) {
	//alert("Data Loaded: ");
	$('#pubChartDiv').hide();
	$('#pubLoader').show();
	$.ajax({
		type: "POST",
		url: "home.action?graphRefresh=&pubChartTimeSpan=" + $('#pubTimeSpan').val() + "&pubChartInfoType=" + $('#pubInfoType').val() + "&pubId=" + id + "&chartType=publisher",
		success: function(msg){
			$('#pubLoader').hide();
			$('#pubChartDiv').html( '' );
			$('#pubChartDiv').html( msg );
			$('#pubChartDiv').show();
			pubFunc();
		},
		error: function(msg1, msg2, msg3) {
			alert( "Error: " + msg2 );
		}
		});
}

function refreshAdGraph( id ) {
	//alert("Data Loaded: ");
	$('#adChartDiv').hide();
	$('#adLoader').show();
	$.ajax({
		type: "POST",
		url: "home.action?graphRefresh=&adChartTimeSpan=" + $('#adTimeSpan').val() + "&adChartInfoType=" + $('#adInfoType').val() + "&adId=" + id + "&chartType=advertiser",
		success: function(msg){
			$('#adLoader').hide();
			$('#adChartDiv').html( '' );
			$('#adChartDiv').html( msg );
			$('#adChartDiv').show();
			adFunc();
		},
		error: function(msg1, msg2, msg3) {
			alert( "Error: " + msg2 );
		}
		});
}

//some autoresponder helpers
function insertAtCursor( myFieldId, myValue ) {
	var myField = document.getElementById( myFieldId );
	if ( document.select ) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}
	else if ( myField.selectionStart || myField.selectionStart == '0' ) {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring( 0, startPos ) +
			myValue +
			myField.value.substring( endPos, myField.value.length );
	}
	else {
		myField.value += myValue;	
	}
}