var widget_user = new BF_User();
window.onload = function() {
  var sessionkey = widget_user.getSessionKey(); 
  if(document.location.search && document.location.search.match(/user=\w+/) ) {
    $('only-mybuzz-selection').show();
  	$('only-mybuzz-selection-cb').observe('change', function(event) {
  		if(event.element().checked ) {
	  		$('checked_cats').hide();
  			$('only-tame').hide(); 
  		} else {
	  		$('checked_cats').show();
  			$('only-tame').show();  			  			
  		}
  		refreshWidget();
  	})
  } else {
  	$('checked_cats').show();
  	$('only-tame').show();
  	$('only-mybuzz-selection-cb').checked = false;
  }
  refreshWidget();
}

var widgetRows = 3;
var widgetCols = 1;
var widgetSmallImages =  0;
var widgetCategories = new Array();
var widgetTame =  0;
var args = '';

var loads = 0;
function refreshWidget() {
	
	var mybuzz = $('only-mybuzz-selection-cb').checked;
	loads++;

  istame = widgetTame;
  if(mybuzz) istame = 0;
  args = '?rows='+widgetRows  +'&amp;cols='+widgetCols  +'&amp;small='+widgetSmallImages  +'&amp;tame='+istame;
  var url = widgetURL+args;

  if(! mybuzz) {
    for( var i = 0; i < widgetCategories.length; i++ ) {
      url += '&amp;c='+widgetCategories[i];
      args += '&amp;c='+widgetCategories[i]; 
    }
  } else {
  	  var serach_array = document.location.search.split(/=/);
  	  var user_value = serach_array[1];
  	  if(! user_value || user_value == 'true') { 
	      var u_info = widget_user.getUserInfo();
	      if(u_info && u_info.username) {
	      	user_value = u_info.username;
	      } else {
	      	user_value = null;
	      }
 	  }
      if(user_value) {
	      url += '&amp;u='+user_value;
    	  args += '&amp;u='+user_value;   	
      }  	              
  }     
  BF_CapColor = $('BF_CapColor').value;
  BF_CapTextColor = $('BF_CapTextColor').value;
  BF_BkgdColor =  $('BF_BkgdColor').value;
  BF_TextColor = $('BF_TextColor').value;

  args += '&BF_CapColor=' + escape(BF_CapColor);
  args += '&BF_CapTextColor=' + escape(BF_CapTextColor);
  args += '&BF_BkgdColor=' + escape(BF_BkgdColor);
  args += '&BF_TextColor=' + escape(BF_TextColor);

    
  script_tag = '<scr' + 'ipt type="text/javascript" charset="utf-8">\n'
  + 'var BF_CapColor = \'' + $('BF_CapColor').value + '\';\n'
  + 'var BF_CapTextColor = \'' + $('BF_CapTextColor').value + '\';\n'
  + 'var BF_BkgdColor = \'' + $('BF_BkgdColor').value + '\';\n'
  + 'var BF_TextColor = \'' + $('BF_TextColor').value + '\';\n'
  + 'var BF_WEDJE=true;\n'
  + '(function( ){\n'
  + '    document.write(\'<div id="BF_WIDGET">&nbsp;</div>\');\n'
  + '    BF_WIDGET_JS=document.createElement(\'script\'); BF_WIDGET_JS.type="text/javascript";\n' 
  + '    BF_WIDGET_SRC="' + url + '"\n'
  + '    setTimeout(function() {document.getElementById(\'BF_WIDGET\').appendChild(BF_WIDGET_JS); BF_WIDGET_JS.src=BF_WIDGET_SRC} ,1);'
  + '})();\n'
  + '</scr' + 'ipt>\n<br /><a style="font-size:x-small;" href="http://www.buzzfeed.com">Via BuzzFeed</a>';    

  if(document.location.toString().match(/oldcode=true/)) {
  	  script_tag = '<scr' + 'ipt type="text/javascript" charset="utf-8">\n'
   	+ 'var BF_CapColor = \'' + $('BF_CapColor').value + '\';\n'
   	+ 'var BF_CapTextColor = \'' + $('BF_CapTextColor').value + '\';\n'
   	+ 'var BF_BkgdColor = \'' + $('BF_BkgdColor').value + '\';\n'
   	+ 'var BF_TextColor = \'' + $('BF_TextColor').value + '\';\n'
   	+ '</scr' + 'ipt>\n<scr' + 'ipt type="text/javascript" src="' + url + '"></scr' + 'ipt><br /><a style="font-size:x-small;" href="http://buzzfeed.com">Via BuzzFeed</a>';    
  }
  	
  var frame_id = 'widget_preview_iframe';

  if($(frame_id)) { 
    $(frame_id).remove();
  }
  $('WidgetPreview').innerHTML ='<iframe name="widget_preview_iframe" id="widget_preview_iframe" width="600" height="800" frameborder="0" scrolling="no"></iframe>';


	var documentFrame = null;
	var fframe = $(frame_id);
	if(fframe && fframe.contentDocument) {
		documentFrame = fframe.contentDocument;
	}
	if (! documentFrame && frames[frame_id] && frames[frame_id].document) {			
		documentFrame = frames[frame_id].document;
	} 
	if(! documentFrame) {
		if(loads < 20) {
			setTimeout(refreshWidget, 400);
			return;
		} else {
			return;
		}
	}

  documentFrame.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><body style="margin:0;padding:0;"><scr' + 'ipt type="text/javascript" src="' + url  + '"></scr' + 'ipt>');
  documentFrame.close();

  $('widget_code').value = script_tag;

  $('widget_dimentions').innerHTML = '&nbsp;';
  var count = 0;
  var show_size = function() {
    count++;
    try {
      var widgetSize = Element.getDimensions(frames[frame_id].frames[0].document.getElementById('BF_Widget'));  
      $('widget_dimentions').innerHTML = 'Widget Size: <b>' + widgetSize.width + '&times;' + widgetSize.height + '</b> pixels';
    } catch(e) {
      if(count < 10) {
        setTimeout(show_size,100);
      }
    }
  }
  setTimeout(show_size,100);
}


function choose_size(rows,cols) {   
  var boxes = $$('div.selected');
  if( boxes ) {
    for( i=0 ; i < boxes.length ; i++ ) { 
      boxes[i].removeClassName('selected'); 
    }
  }
  for(var i=rows; i <= rows && i >= 1; i-- ) {
    for(var j=cols; j <= cols  && j >= 1; j-- ) {
      $('box'+i+'x'+j).addClassName('selected');
    }
  }
  widgetRows = rows;
  widgetCols = cols;  
  refreshWidget();
}


function choose_imageSize(size) {
  widgetSmallImages = size;
  if(size) {
    $('imagesize-small').addClassName('current');
    $('imagesize-large').removeClassName('current'); 
  } else {
    $('imagesize-large').addClassName('current');
    $('imagesize-small').removeClassName('current');
  }
  refreshWidget(); 
}


function choose_tame(tame) {
  if(tame) {
    widgetTame = 1;   
  } else {
    widgetTame = 0;
  }
  refreshWidget(); 
}


function choose_color( bkgdColor, textColor, capColor, capTextColor  ) {
  $('BF_CapColor').value = capColor;
  $('BF_CapTextColor').value = capTextColor;
  $('BF_BkgdColor').value = bkgdColor;
  $('BF_TextColor').value = textColor;
  refreshWidget();
}

function previewLightbox() {
	args += '&adurl=' + escape( $F('adurl') );
	document.location = BF_STATIC.web_root + '/network/lightbox_preview' + args;
}

function checkCats ( checking ) {
  var showWarning = false;
  var checked_cats = $('checked_cats').getElementsByTagName('input');

  // count the number of categories checked & build category array
  widgetCategories = new Array();
  for( var num_checked=0, i=0 ; i < checked_cats.length ; i++ ) { 
    if(checked_cats[i].checked) {
      num_checked++;
      widgetCategories.push(checked_cats[i].value);
    }
  }  

  if( num_checked < 4 ) { showWarning = true; }
  if( $('check_Style').checked ) {  showWarning = false;  }
  if( $('check_Culture').checked ) {  showWarning = false;  }
  if( $('check_Politics').checked ) {  showWarning = false;  }

  if( showWarning ) {
    $('category_warning').show();
  } else {
    $('category_warning').hide();
  }

  // at least one checkbox must be checked
  if( num_checked == 0 ) {
    checking.checked = true;
  }
  refreshWidget();
}

