 Event.observe(window, 'load', function(event) {

     if ($('hidden_box')){
         var a = new Draggable('hidden_box');
         a.element.setStyle({ cursor: 'move' });

        $('hidden_box').observe('dblclick', function(event){

                $('hidden_box').style.display = 'none';
        });
     }
     if ($('hidden_box_container')){

        $('hidden_box_container').observe('dblclick', function(event){

                $('hidden_box_container').style.display = 'none';
        });
     }
 });
 /**
  * global functions
  *
  */

function confirm_delete(message){
 return confirm ( message ? message : 'Are you sure you want to delete this item?');
}

function cm_over(obj,color){

    obj.style.backgroundColor = color ? color : '#DDDDDD';
}
function cm_out(obj,color){

    obj.style.backgroundColor  = color ? color: '';
}


/**
  * send data to the server
  * @param string return_no - object ID in which content if need to be returned
  * @param string params - string with parameters
  * @param bool form - true if you want to return reponse in the form field
  * @param string eval_after - javascript code that need to be evaluated after response recevied
  *
  */
function send_data(return_to,params,form,eval_after){ // POST method

    $('loading').style.display = 'block';
    new Ajax.Request(  HOST_PATH + 'index.php', {
        parameters: params ,
        onComplete:  function(transport) {
            if (200 == transport.status){

                  if (form){ // return form field results
                       $(return_to).value = transport.responseText;

                  }else if(return_to){ // return html object results
                       $(return_to).innerHTML = transport.responseText;
                  }
                  if (eval_after) eval(eval_after);

                  $('loading').style.display = 'none';
            }
        },
        onFailure : function(){

            alert('Couldn\'t complete request. Please try later.');
        }
    });

    return false;
}

/**
 *  copy to text in clipboard
 */
function clipboard(text){

  text = text.unescapeHTML();
/*      if (window.clipboardData) {
        window.clipboardData.setData("Text",text);
      } else {
*/
        var flashcopier = 'flashcopier';
        if(!document.getElementById(flashcopier)) {
          var divholder = document.createElement('div');
          divholder.id = flashcopier;
          document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        var divinfo = '<embed src="' + 'js/clipboard.swf" FlashVars="clipboard='+escape(text)+'" width="30" height="30" type="application/x-shockwave-flash"></embed>';
        document.getElementById(flashcopier).innerHTML = divinfo;
//      }
  return false;
}

/*
    project page functions (normal projects + custom projects)
*/

/**
 *  add new table with post fields
 * @return int ID of the last added box
 */
function project_add_keyword(type,project_key){

    // multi projects page
    sproject_key = '';
    if (project_key){
        sproject_key = '_' + project_key;
    }

    // project_add_keyword()
    box_id = $F('top_' + type + sproject_key);
    ++box_id;

    $('top_' + type + sproject_key).value = box_id;

    new_box = $('fields_' + type).innerHTML;
    new_box = new_box.replace(/%%box_id%%/,box_id);

    new_box = '<div id="'+ type + sproject_key + '_'+ box_id +'">'+ new_box +'</div>';
    new Insertion.Bottom('project_' + type + sproject_key , new_box);

    if (type == 'normal'){ // normal project

        calculate_project_cost();

    }else{ // custom project

        calculate_cproject_cost();
    }
    return box_id;
}

/**
 *  remove post fields
 */
function project_remove_fields(box_id,type,project_key){

    // multi projects page
    sproject_key = '';
    if (project_key){
        sproject_key = '_' + project_key;
    }

    $(type + sproject_key + '_' + box_id).innerHTML = '';
    $(type + sproject_key + '_' + box_id).style.display = 'none';

    if (type == 'normal'){
        calculate_project_cost();
    }else{
        calculate_cproject_cost();
    }

    return false;
}

/**
 * calculate how much credits required for requested posts
 * @version 2011/09/29
 */
function calculate_project_cost(){

    var cost_mini_blurb = $F('user_cost_mini_blurb');
    var cost_blurb = $F('user_cost_blurb');
    var cost_biz_blurb = $F('user_cost_biz_blurb');
    var cost_mini_post = $F('user_cost_mini_post');
    var cost_article = $F('user_cost_article');
    var cost_nmarticle = $F('user_cost_nmarticle');
    var cost_medium_article = $F('user_cost_medium_article');
    var user_credits = $F('user_credits');

    var preferred_writer = 0; // extra $ for each article if preferred writer selected
    var display_preferred_writers = false;

    var total = 0;
    var cost = 0;
    var project_key = '';

    var obj = $('form_project');
    for (i=0;i<obj.length;i++){ // scan form

         // project key, new project fields
        if(obj.elements[i].name.indexOf('project_id') > -1 ){

            w = obj.elements[i].name.match(/new_projects\[(\d+)\]/g);
            new_project_key = w[0].replace(/[^\d]+/g,'');

            // new projects area, display/hide preferred wrtiers for prev projects arae
            //  preferred writers allowed only for project with articles
            if (project_key != '' && display_preferred_writers && $('table_preferred_writers_' + project_key)){

                $('table_preferred_writers_' + project_key).style.display = 'block';

            }else if($('table_preferred_writers_' + project_key)){

                $('table_preferred_writers_' + project_key).style.display = 'none';
            }

            project_key = new_project_key;

            display_preferred_writers = false;
            preferred_writer = 0;
        }

        if (obj.elements[i].name.indexOf('post_type') > -1 ){

            post_type = obj.elements[i].value;

        }else if (obj.elements[i].name.indexOf('preferred_writer') > -1 && obj.elements[i].checked && obj.elements[i].value > 0){ // preferred writer selected

            preferred_writer = 1; // extra 1$ for each article
        }


        if (obj.elements[i].name.indexOf('num_posts') > -1 ){

            switch(post_type){
                case 'mini_blurb':
                    cost = cost_mini_blurb;
                break;
                case 'blurb':
                    cost = cost_blurb;
                break;
                case 'biz_blurb':
                    cost = cost_biz_blurb;
                break;
                case 'mini_post':
                    cost = cost_mini_post;
                break;
                case 'article':
                    cost = cost_article;
                    display_preferred_writers = true;
                break;
                case 'nmarticle':
                    cost = cost_nmarticle;
                break;
                case 'medium_article':
                    cost = cost_medium_article;
                break;
                default:
                    cost = 0;
            }

            posts  =  obj.elements[i].value ? parseInt(obj.elements[i].value) : 0;

            total += cost * posts  + (post_type == 'article' ? preferred_writer * posts  : 0);
        }
    }

    $('credits_available').innerHTML = (user_credits - total).toFixed(2);

    // preferred writers allowed only for project with articles
    if (display_preferred_writers && $('table_preferred_writers_' + project_key)){

        $('table_preferred_writers_' + project_key).style.display = 'block';

    }else if($('table_preferred_writers_' + project_key)){

        $('table_preferred_writers_' + project_key).style.display = 'none';
    }

    return true;
}

/**
 * @version 2011/03/11
 * calculate how much credits required for requested posts
 */
function calculate_cproject_cost(){

    var project_cost = article_type_cost('original') + article_type_cost('rewritten') + article_type_cost('sales') + article_type_cost('ezine');

/*    if ($('custom_rush').value == 1){

       project_cost +=  CUSTOM_PARAMS.custom_rush;
    }
*/
    $('project_cost').innerHTML = project_cost.toFixed(2);
    $('credits_available').innerHTML = (CUSTOM_PARAMS.user_credits - project_cost).toFixed(2);
    return true;
}

/**
 *  show/display fields for original/rewritten content type
 */
function switch_content_fields(content_type, project_key){

  if (content_type == 'original'){ // orignal content

      $('table_rewritten_content_' + project_key).style.display = 'none';

  }else{ // rewritten

      $('table_rewritten_content_' + project_key).style.display = 'inline-table';
  }
}

/**
 * project type changed, show/hide fields for orignal/rewritten content
 */
function switch_article_type(article_type, project_key){

  $('article_notes_' + project_key).style.display = 'none';
  $('mini_post_notes_' + project_key).style.display = 'none';
  $('blurb_notes_' + project_key).style.display = 'none';

  if (article_type == 'blurb' || article_type == 'mini_post'){ // no fields for original/rewritten conent

      $('table_articles_' + project_key).style.display = 'none';
      $('table_posts_' + project_key).style.display = 'block';

      if (article_type == 'blurb'){

            $('mini_post_url_' + project_key).style.display = 'none';
            $('blurb_url_' + project_key).style.display = 'block';
            $('blurb_notes_' + project_key).style.display = 'inline';

      }else{ // mini_post

            $('mini_post_url_' + project_key).style.display = 'block';
            $('blurb_url_' + project_key).style.display = 'none';
            $('mini_post_notes_' + project_key).style.display = 'inline';
      }

  }else{ // articles, display fields

      $('table_articles_' + project_key).style.display = 'block';
      $('table_posts_' + project_key).style.display = 'none';

      $('article_notes_' + project_key).style.display = 'inline';

      content_type = $F('article_content_' + project_key);
      switch_content_fields(content_type, project_key);
  }
}

/**
 * calculate cost for requested article type
 * version 2011/03/11
 */
function article_type_cost(type){

     var i =0;
     var total =0;
     var extra_cost = 0;
     var words = 0;
     var quantity = 0;
     var word_cost = 0;
     var preferred_writer = 0;
     var display_preferred_writers = false;

     if (!$('top_' + type)) return 0;

        for (i;i <= $F('top_' + type);i++){

           extra_cost = 0;
           quantity = find_div_field(type + '_' + i, type + '_quantity');
           words = find_div_field( type + '_' + i, type + '_words');

           if ($(type + '_' + i) && quantity && words){

                // check extra cost options
                switch (find_div_field(type + '_' + i, type + '_research')){
                    case 'light':
                        extra_cost = CUSTOM_PARAMS.custom_light_research;
                    break;
                    case 'medium':
                        extra_cost = CUSTOM_PARAMS.custom_medium_research;
                    break;
                    case 'heavy':
                        extra_cost = CUSTOM_PARAMS.custom_heavy_research;
                }

                // find word cost
                switch (type){
                    case 'original':
                        word_cost = CUSTOM_PARAMS.custom_original_word;
                    break;
                    case 'rewritten':
                        word_cost = CUSTOM_PARAMS.custom_rewritten_word;
                    break;
                    case 'sales':
                        word_cost = CUSTOM_PARAMS.custom_sales_word;
                    break;
                    case 'ezine':
                        word_cost = CUSTOM_PARAMS.custom_ezine_word;
                }

                total += quantity * words * (word_cost + extra_cost);
           }
        }

        // find preferred writers , use preferred writers only for 'original' articles
        if (type == 'original'){

            var obj = $('form_custom_project');
            for (i=0;i<obj.length;i++){ // scan form

                if (obj.elements[i].name.indexOf('preferred_writer') > -1  && obj.elements[i].checked && obj.elements[i].value > 0){

                    preferred_writer = 1;
                    break;
                }
            }

            if (preferred_writer){ // preferred writer selected, add 2 redits for each custom article

                 total += quantity * 2;
            }

            if (quantity !== false && $('table_preferred_writers')){

                $('table_preferred_writers').style.display = 'block';

            }else if ($('table_preferred_writers')){

                $('table_preferred_writers').style.display = 'none';
            }
        }

    return total;
}

/**
 * find input field in the DIV
 * @param div_name name of DIV object
 * @param string name of field
 * @return mixed return FALSE is field not found or return field value if field was found
 */
function find_div_field(div_id,field_name){

    var i=0;

    if (!$(div_id)) return false;
    var obj = $(div_id).descendants();

    for (i;i<obj.length;i++){

        if (obj[i].name && obj[i].name.indexOf( field_name ) > -1){ // field found

            return $F( obj[i] );
        }
    }
    return false;
}

/**
 * custom projects
 * display box with custom form for custom projects
 */
function custom_projects(section){

    if ($('section_' + section).style.display == 'block'){

        $('section_' + section).style.display = 'none';
        $('icon_' + section).src = 'images/plus.gif';

    }else{ // expand

        $('section_' + section).style.display = 'block';
        $('icon_' + section).src = 'images/minus.gif';
    }

    return false;
}

/**
 * add predefined custom fields for custom projects
 */

function add_custom_fields(type,words,research){

    var i=0;
    var last_box = project_add_keyword(type);
    var div_id = type + '_' + last_box;

    if (!$(div_id)) return false;
    var obj = $(div_id).descendants();

    for (i;i<obj.length;i++){

        if (words && obj[i].name && obj[i].name.indexOf( type + '_words' ) > -1){ // field found

             obj[i].value = words;

        }else if (research && obj[i].name && obj[i].name.indexOf( type + '_research' ) > -1){

             obj[i].value = research;

        }else if (research == 'light' && obj[i].name && obj[i].name.indexOf( type + '_second_keyword' ) > -1){

             // disable 'second keywords' field if light research selected for original articles, (no second keywords for this articles)
             obj[i].disabled = true;
             obj[i].style.backgroundColor  = '#EEEEEE';

        }else if (obj[i].name && obj[i].name.indexOf( type + '_quantity' ) > -1){

             obj[i].value = 1;
        }
    }

    calculate_cproject_cost();
    return false;
}

/**
 * project rating updated
 */
function update_project_rating(rating,project_id){

    $('poor_grade_' + project_id).style.display = 'none';
    $('preferred_writer_' + project_id).style.display = 'none';

    if (rating == 1 || rating == 2){

        $('poor_grade_' + project_id).style.display = 'block';

    }else if (rating == 5 || rating == 4){

        $('preferred_writer_' + project_id).style.display = 'block';
    }
    return false;
}

/**
 *  preferred writer, first 100 words from last 3 projects for current user
 */
 function get_writer_details(obj,writer_id){

    send_data('hidden_box','mod=profile&a=writer_details&writer_id=' + writer_id);
    get_pop(obj,-250,30);

    return false;
 }

/**
  * display popup box (hidden_box) in the requested position
  */
function get_pop(obj,offsetX,offsetY){

   var xy  = Position.cumulativeOffset(obj);

   offsetY = offsetY ? offsetY : 30;
   offsetX = offsetX ? offsetX : 30;

   // set form position
   $('hidden_box').innerHTML = '';
   $('hidden_box').style.display = 'block';
   $('hidden_box').style.top = ( xy[1]+offsetY ) + 'px';
   $('hidden_box').style.left = ( xy[0]+offsetX ) + 'px';

}

function word_density_report(obj){

   var xy  = Position.cumulativeOffset(obj);

   offsetY = 30;
   offsetX = -700;

   // set form position
   $('hidden_box_container').innerHTML = '';
   $('hidden_box_container').style.top = ( xy[1]+offsetY ) + 'px';
   $('hidden_box_container').style.left = ( xy[0]+offsetX ) + 'px';

   // article_title, article_summary, article_resource, content

   article_title = encodeURIComponent($F('article_title'));
   article_summary = encodeURIComponent($F('article_summary'));
   article_resource = encodeURIComponent($F('article_resource'));

   if (tinyMCE){
      article_content = encodeURIComponent(tinyMCE.get('content').getContent());
   }else{
      article_content = encodeURIComponent($F('content'));
   }


   // return_to,params,form,eval_after
   send_data('hidden_box_container','mod=uarticles&p=word_density&title='+article_title+'&summary='+ article_summary + '&resource=' + article_resource + '&content=' + article_content,'',"$('hidden_box_container').style.display = 'block';");

   return false;
}

/**
 * get code for category video
 */
function category_video(obj,category_id){


   var xy  = Position.cumulativeOffset(obj);

   offsetY = -200;
   offsetX = -500;

   // set form position
   t = ( xy[1]+offsetY );
   l = ( xy[0]+offsetX );

  w =  window.open(HOST_PATH + 'index.php?mod=uarticles&p=category_video&category_id=' + category_id, 'category_video', 'HEIGHT=500,resizable=0,WIDTH=660,toolbar=0,scrollbars=0,resizable=0,status=0,menubar=0');
  w.moveTo(l, t);

   return false;
}

/**
 * detect selected category, and open popup window fri category video
 */

function selected_category_video(obj){


   var xy  = Position.cumulativeOffset(obj);

   offsetY = -700;
   offsetX = -100;

   // set form position
   t = ( xy[1]+offsetY );
   l = ( xy[0]+offsetX );

   category_id = 0;
   topcategory_id = $F('article_topcategory');
   subcategory_id = $F('article_subcategory');

   if (subcategory_id > 0){

      category_id = subcategory_id;

   }else if(topcategory_id >0){

      category_id = topcategory_id;

   }else{

      alert('Category is not selected.');
      return false;
   }

  w =  window.open(HOST_PATH + 'index.php?mod=uarticles&p=category_video&category_id=' + category_id, 'category_video', 'HEIGHT=500,resizable=0,WIDTH=660,toolbar=0,scrollbars=0,resizable=0,status=0,menubar=0');
  w.moveTo(l, t);

  return false;

}

/**
  * hide/display "preview category video" link if video exists or not for selected subcategory/top category
  */
function check_category_video(){


   topcategory_id = $F('article_topcategory');
   subcategory_id = $F('article_subcategory');

   if (subcategory_id > 0){

      category_id = subcategory_id;

   }else if(topcategory_id >0){

      category_id = topcategory_id;

   }else{

      $('category_video_link').style.display = 'none';
      return true;
   }

    send_data('','mod=uarticles&p=check_video&category_id=' + category_id);

   return true;
}

/**
 *  display bookmarking project hits
 *  @version 2011/07/08
 */
function showhint(link_obj,text,size,position){

   if (text == 'OFF'){

        $('hidden_box').style.display = 'none';
        return true;
   }

   var xy  = Position.cumulativeOffset(link_obj);

   /*x = findPosX(link_obj);
   y = findPosY(link_obj);*/

   // set form position
   obj = $('hidden_box');

   obj.innerHTML = '<div style="background-color: #FFFFE0;color:#000000; font-size:10px;border:1px solid #000000;padding:2px;border-bottom:2px solid #000000;border-right:2px solid #000000; width:' + size +'px;">' + text + '</div>';
   obj.style.display = 'block';
   obj.style.top = (xy[1] +30 ) + 'px';

   if (position == 'r'){
      obj.style.left = (xy[0]-size)  + 'px';
   }else{
      obj.style.left = (xy[0])  + 'px';
   }

  return false;

}


function showHide(elementID) {
    var desc = null;

    if (document.getElementById) {
      desc = document.getElementById("cnt_desc_" + elementID);
    } else if (document.all) {
      desc = document.all["cnt_desc_" + elementID];
    } else if (document.layers) {
      desc = document.layers["cnt_desc_" + elementID];
    }

    if (desc) {
      if (desc.style.display == 'none') {
        expand(elementID);
      } else {
        collapse(elementID);
      }
    }
  }

  function expand(elementID) {
    var cnt = null;
    var desc = null;
    var icon = null;

    if (document.getElementById) {
      cnt = document.getElementById("cnt_" + elementID);
      desc = document.getElementById("cnt_desc_" + elementID);
      icon = document.getElementById("cnt_icon_" + elementID);
    } else if (document.all) {
      cnt = document.all["cnt_" + elementID];
      desc = document.all["cnt_desc_" + elementID];
      icon = document.all["cnt_icon_" + elementID];
    } else if (document.layers) {
      cnt = document.layers["cnt_" + elementID];
      desc = document.layers["cnt_desc_" + elementID];
      icon = document.layers["cnt_icon_" + elementID];
    }

    if (desc.style.display == 'none') {
      desc.style.display = 'block';
      icon.src = "/images/icon_minus.gif"
    }
  }

  function collapse(elementID) {
    var cnt = null;
    var desc = null;
    var icon = null;

    if (document.getElementById) {
      cnt = document.getElementById("cnt_" + elementID);
      desc = document.getElementById("cnt_desc_" + elementID);
      icon = document.getElementById("cnt_icon_" + elementID);
    } else if (document.all) {
      cnt = document.all["cnt_" + elementID];
      desc = document.all["cnt_desc_" + elementID];
      icon = document.all["cnt_icon_" + elementID];
    } else if (document.layers) {
      cnt = document.layers["cnt_" + elementID];
      desc = document.layers["cnt_desc_" + elementID];
      icon = document.layers["cnt_icon_" + elementID];
    }

    if (desc.style.display != 'none') {
      desc.style.display = 'none';
      icon.src = "/images/icon_plus.gif"
    }
  }


/**
* load page with training video
*/
function training_video(video_name){

  window.open(HOST_PATH + 'video/?name=' + video_name, 'video', 'HEIGHT=410,resizable=0,WIDTH=660,toolbar=0,scrollbars=0,resizable=0,status=0,menubar=0,address=0');
  return false;
}
