// Global Array
var ONLOAD_EVENTS          = new Array();

var DEFAULT_PROGRESS_LABEL = 'Loading ...';

function InitOnLoadEvents () {
   for ( var i = 0; i < ONLOAD_EVENTS.length; i++ ) {
      var str_event = ONLOAD_EVENTS[i];
      eval(str_event);
   }
}

var class_td_backup ;
var have_langs ;
var Refresh_Langs = 0 ;
var active_div_id = null ;

function mize(ID,action,td_id,mouse_cords) {


   if ( action == 1 ) {

      document.getElementById( ID ).style.display='none';
      document.getElementById( ID ).style.visibility='hidden';
   } else {

      document.getElementById( ID ).style.display='block';
      document.getElementById( ID ).style.visibility='visible';
   }

   if ( mouse_cords ) {

      document.getElementById( ID ).style.top=( mouseY - (document.getElementById( ID ).offsetHeight/2) ) ;
      document.getElementById( ID ).style.left=( mouseX- (document.getElementById( ID ).offsetWidth /2) );
   }

   if ( td_id ) {

      active_item(td_id);
   }
}

function show_to_div ( source_class, target_div , td_id  ) {

   if ( active_div_id ) {

      document.getElementById(active_div_id).className = 'hidden';
   }

   document.getElementById( target_div ).className =  source_class ;
   active_div_id = target_div ;
   if ( td_id ) {

      active_item(td_id);
   }
}

// Get Mouse cords
var IE = document.all?true:false;
document.onmousemove = getMouseXY;
var mouseX = 0;
var mouseY = 0;
function getMouseXY(e) {

   if (IE) { // grab the x-y pos.s if browser is IE

      mouseX = event.clientX + document.body.scrollLeft;
      mouseY = event.clientY + document.body.scrollTop;
   }
   else {  // grab the x-y pos.s if browser is NS
      mouseX = e.pageX;
      mouseY = e.pageY;
   }
   if (mouseX < 0){mouseX = 0;}
   if (mouseY < 0){mouseY = 0;}

   return mouseX , mouseY ;
}

function moveHandler( e ) {

   e.style.top  = mouseY ;
   e.style.left = mouseX ;
}

function move_handler( div_id, start_stop ) {

   if ( start_stop == 1 ) {

      document.getElementById(div_id).attachEvent("onmousemove", moveHandler);
   } else {

      document.getElementById(div_id).attachEvent("onmousemove", null);
   }
}

//  END OF Get Mouse cords

function active_item(td_id)	{


   table = td_id.parentNode.parentNode.parentNode;
   for ( table_rows in table.rows ) {

      for ( table_cel in table.rows[table_rows].cells ) {

         table.rows[table_rows].cells[table_cel].className='inactiveTD';
      }
   }

   td_id.className= class_td_backup = 'activeTD';
}

function change_cursor ( td_obj , direction ) {

   // make it active while mouseover
   if ( direction == 1 ) {

      class_td_backup = td_obj.className ;
      td_obj.className = "activeTD";
   } else {

      td_obj.className = class_td_backup ;
   }
}

function getDataFromServer( target_id,script_name ) {

   //			if ( have_langs == 1 ) {

   //				mize( target_id , 2  );
   //				return ;
   //			}
   var oXmlHttp = zXmlHttp.createRequest();
   oXmlHttp.open("get", script_name , false);
   oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   var sBody = "";
   oXmlHttp.send(sBody);


   if (oXmlHttp.readyState == 4) {
      if (oXmlHttp.status == 200) {
         document.getElementById( target_id ).innerHTML = "<br/>"+oXmlHttp.responseText ;
         have_langs = 1 ;
         document.getElementById( target_id ).className ='';
         mize( target_id , 2  );
      } else {
         saveResult("Грешка при събмит: "+oXmlHttp.statusText);
      }
   }
}


function add_lang( oForm ) {

   var sBody = getRequestBody(oForm);
   var oXmlHttp = zXmlHttp.createRequest();
   oXmlHttp.open("post", "CreateProject.pcgi" , false);
   oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

   oXmlHttp.send(sBody);
   if (oXmlHttp.readyState == 4) {
      if (oXmlHttp.status == 200) {
         saveResult(oXmlHttp.responseText);
         have_langs=0;
         getDataFromServer('langContainer', 'getMultyLangs.pcgi' );
         mize('add_lang_div' ,1 );
      } else {
         saveResult(oXmlHttp.statusText);
      }
   }

}

function add_date( oForm ) {

   var sBody = getRequestBody(oForm);
   var oXmlHttp = zXmlHttp.createRequest();
   oXmlHttp.open("post", "NewsConfig.pcgi" , false);
   oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

   oXmlHttp.send(sBody);
   if (oXmlHttp.readyState == 4) {
      if (oXmlHttp.status == 200) {
         saveResult(oXmlHttp.responseText);
         have_langs=0;
         getDataFromServer('date_formats_div', 'getDateFormats.pcgi' );
         mize('add_date_div' ,1 );
      } else {
         saveResult(oXmlHttp.statusText);
      }
   }

}

// Ajax methods
function sendRequest(oForm) {
   var sBody = getRequestBody(oForm);

   var oXmlHttp = zXmlHttp.createRequest();
   oXmlHttp.open("post", oForm.action, true);
   oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

   oXmlHttp.onreadystatechange = function () {
      if (oXmlHttp.readyState == 4) {
         if (oXmlHttp.status == 200) {
            saveResult(oXmlHttp.responseText);
         } else {
            saveResult(oXmlHttp.statusText);
         }
      }
   };
   oXmlHttp.send(sBody);
}

function getRequestBody(oForm) {
   var aParams = new Array();

   for (var i=0 ; i < oForm.elements.length; i++) {

      if ( oForm.elements[i].disabled == true ) {

         continue ;
      }

      if ( ( oForm.elements[i].type == 'radio' ) && ( oForm.elements[i].checked == false ) ) {

         continue ;
      }

      if ( oForm.elements[i].type == 'select-multiple' ) {

         for ( option_id in oForm.elements[i].options ) {

            if ( oForm.elements[i].options[option_id].selected == true ) {

               var sParam = encodeURIComponent(oForm.elements[i].name);
               sParam += "=";
               sParam += encodeURIComponent(oForm.elements[i].options[option_id].value);
               aParams.push(sParam);
            }
         }
      } else {

         var sParam = encodeURIComponent(oForm.elements[i].name);
         sParam += "=";
         sParam += encodeURIComponent(oForm.elements[i].value);
         aParams.push(sParam);
      }
   }

   return aParams.join("&");
}

function saveResult(sMessage) {
   //var divStatus = document.getElementById("divStatus");
   var divStatus = document.getElementById("content2");

   var splitarray = sMessage.split( "\n" );
   sMessage = splitarray.join( "<br/>");

   divStatus.innerHTML = sMessage;
}

function DisableEnableForm(xForm,xHow){
   objElems = document.getElementById(xForm).elements;

   for(i=0;i<objElems.length;i++){
      objElems[i].disabled = xHow;
   }
}

var input_count = 1 ;

function input_add( DIV_ID,NAME ) {
   input_count++;
   document.getElementById( DIV_ID ).innerHTML += "<input type='file' name='"+NAME+input_count+ "'>";
}

function del_photo( ID ) {
   if ( confirm('Are you sure?') ) {
      document.getElementById( 'del_photo' ).value = ID ;
      document.getElementById( 'form' ).submit() ;
   }
}

function del_video( ID ) {
   if ( confirm('Are you sure?') ) {
      document.getElementById( 'del_video' ).value = ID ;
      document.getElementById( 'form' ).submit() ;
   }
}


function del_news( ID ) {
   if ( confirm('Are you sure?') ) {
      document.getElementById( 'del_news' ).value = ID ;
      document.getElementById( 'form' ).submit() ;
   }
}

function popup_window ( str_url, width, height ) {
   day      = new Date();
   width   += 20;
   height  += 20;
   id       = day.getTime();
   eval("var page"+id+"=window.open('"+str_url+"', '"+id+"','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+",left=0,top=0');");
}

function show_progress() {
   document.getElementById('load_progress').innerHTML='<img src="/admin/img/progress.gif">';
}

function change_page( PAGE_NUM ) {
   document.getElementById( 'current_page' ).value = PAGE_NUM ;
   document.getElementById( 'form' ).submit() ;
}

function CheckName ( cat_name_id, cat_select_id ) {
   var has_same_name = false;
   var oName   = document.getElementById(cat_name_id);
   var oSelect = document.getElementById(cat_select_id);
   for( var i = 0; i < oSelect.options.length; i++ ) {
      if ( oSelect.options[oSelect.selectedIndex].text == oName.value ) {
         has_same_name = true;
      }
   }

   if ( has_same_name ) {
      alert("Имената на категории от едно ниво не трябва да се дублират");
      oName.focus();
   }
}

function AlertDelCategoryTree ( oCheck, str_message ) {
   if ( oCheck.checked ) {
      if ( ! confirm(str_message) ) {
         oCheck.checked = false;
      }
   }
}

function EraseCategory ( category_id ) {
   if ( confirm('Избраната категория, нейните подкатегории\nи принадлежащите й продукти ще бъдат изтрити също така!\nСигурни ли сте, че искате да продължите?') ) {
      $(':input[name="category_id"]').attr('disabled',false).val(category_id);
      $(':input[name="edit_btn"]').attr('disabled',false).val(1);
      $(':input[name="del_category"]').attr('disabled',false).val(category_id);
      $(':input[name="create_new"]').attr('disabled',true);
      $(':input[name="del_category"]').get(0).form.submit();
   }
}

function BrowseCategory ( catalog_id, category_id, url, progress_layer_text ) {
   if ( typeof(progress_layer_text) == 'undefined' ) {
      progress_layer_text = DEFAULT_PROGRESS_LABEL;
   }
   $("#ProgressHoverLayer").ajaxSend(function(){$('#progress_layer_text').text(progress_layer_text);$(this).show();});
   $.get( url, { "category_id": category_id, "simpleview": 1 }, function(data) { $('#product_list').html(data); } );
   $("#ProgressHoverLayer").ajaxStop(function(){$('#progress_layer_text').text('');$(this).hide();});
}

function ShowProgressHover ( msg ) {
   $('#progress_layer_text').text( msg );
   $('#ProgressHoverLayer').show();
}
function HideProgressHover () {
   $('#ProgressHoverLayer').hide();
}

function SyncCategoryInfo ( category_id, catalog_id, url, progress_layer_text ) {
   if ( typeof(progress_layer_text) == 'undefined' ) {
      progress_layer_text = DEFAULT_PROGRESS_LABEL;
   }

   $("#ProgressHoverLayer").ajaxSend(function(){$('#progress_layer_text').text(progress_layer_text);$(this).show();});
   $.get( url, { "category_id": category_id, "catalog_id": catalog_id }, function(data) { FillCategoryDataFields(data); } );
   $("#ProgressHoverLayer").ajaxStop(function(){$('#progress_layer_text').text('');$(this).hide();});
}

function FillCategoryDataFields ( json_data ) {
   if ( typeof(json_data) != 'undefined' ) {
      var category_data = false;
      eval ('category_data = '+json_data);

      if (typeof(category_data) != 'undefined') {
         var fields = ['name','title','description','allow_items','can_delete','max_deep','parent_id'];
         for(var i=0; i < fields.length; i++) {
            if ( fields[i] == 'allow_items' ) {
               $('#category_'+fields[i]).val( ( category_data['parent_id'] == 0 ) ? 0 : category_data[fields[i]] );
            } else if ( fields[i] == 'can_delete' ) {
               $('#category_'+fields[i]).val( ( category_data['parent_id'] == 0 ) ? 0 : category_data[fields[i]] );

               ( category_data['can_delete'] == 0 ) ? $('#delete_link').hide() : $('#delete_link').show();
            } else if ( fields[i] == 'max_deep' ) {
               $('#category_'+fields[i]).val( ( category_data['parent_id'] == 0 ) ? 1 : 10000 ); // subcats can have many children
            } else if ( fields[i] == 'parent_id' ) {
               if ( category_data['parent_id'] == 0 ) {
                  $('#parent_category_wrapper').empty();
                  $('#parent_category_wrapper').html($('textarea#main_category_prototype').attr('value'));
               } else {
                  $('#parent_category_wrapper').empty();
                  $('#parent_category_wrapper').html($('textarea#categories_prototype').attr('value'));
               }
               GetIndexByValue('parent_category',category_data['parent_id'],true);
            } else {
               $('#category_'+fields[i]).val( category_data[fields[i]]);
            }
         }

         if ( category_data['img_src'] != null && category_data['tn_src'] != null && category_data['img_src'] != '' && category_data['tn_src'] != '' ) {
            $('#category_photo_link').attr('href',category_data['img_src']);
            $('#category_photo').attr('src',category_data['tn_src']);
            $('#image_holder').show();
         } else {
            $('#image_holder').hide();
         }

         if ( category_data['flash_src'] != null && category_data['flash_src'] != '' ) {
            var so = new SWFObject(category_data['flash_src'], "category_flash", "100%", "100%", "8", "#ffffff");
            so.addParam("quality", "high");
            so.addParam("wmode", "transparent");
            so.addParam("salign", "left");
            so.write("category_flash");

            $('#flash_holder').show();
         } else {
            $('#flash_holder').hide();
         }
      }
   }
}

function ShowFlash ( item_id, flash_src ) {
   if ( flash_src != null && flash_src != '' ) {
      var so = new SWFObject(flash_src, "category_flash_mov_"+item_id, "100%", "100%", "8", "#ffffff");
      so.addParam("quality", "high");
      so.addParam("wmode", "transparent");
      so.addParam("salign", "left");
      so.write("category_flash_"+item_id);

      $('#flash_holder'+item_id).show();
   } else {
      $('#flash_holder'+item_id).hide();
   }
}

function EnableCategoryProperties () {
   $('#category_allow_items').val(1);
   $('#category_can_delete').val(1);
}

function GetSelectedIndex (select_id) {
   var oSelect = document.getElementById(select_id);

   if ( oSelect ) {
      return oSelect.selectedIndex;
   }
   return false;
}

function GetIndexByValue (select_id,required_value, select_it) {
   var oSelect = document.getElementById(select_id);

   if ( select_it == null ) {
      select_it = false;
   }

   if ( oSelect ) {
      for( var i = 0; i < oSelect.options.length; i++){
         if ( required_value == oSelect.options[i].value ) {
            if ( select_it ) {
               oSelect.options[i].selected = true;
               return true;
            } else {
               return i;
            }
         }
      }
   }
   return false;
}

function GetSelectedValue (select_id) {
   var oSelect = document.getElementById(select_id);

   if ( oSelect ) {
      return oSelect.options[oSelect.selectedIndex].value;
   }
   return false;
}

function PrefixWithZero (value ) {
   return ( value < 10 ) ? "0"+value : value;
}

function SetCurrentDate (a_input_ids) {
   var date = new Date();

   for (var i=0; i < a_input_ids.length; i++ ) {
      $(a_input_ids[i]).html(date.getFullYear()+'-'+PrefixWithZero(date.getMonth()+1)+'-'+PrefixWithZero(date.getDate())+' '+PrefixWithZero(date.getHours())+':'+PrefixWithZero(date.getMinutes())+':'+PrefixWithZero(date.getSeconds()));
   }
}

function GotoPage ( form_id, page_num ) {
   if ( typeof($(':input[name="cp"]').get(0)) == 'undefined' ) {
      $('<input name="cp" type="hidden" value="'+page_num+'" />').appendTo('#'+form_id);
   } else {
      $(':input[name="cp"]').val(page_num);
   }

   $('#'+form_id).submit();
}

function BuyProduct( product_id, parentObj, style) {
   if ( product_id ) {
   //	$("div#status_message").stop();
	
      var item_count = $('#count_'+product_id).val();

      $.get( 'buy_product.pcgi', { "product_id": product_id }, function(data) { UpdateItems(data); } );

	  		nameVar=product_id+style;
			globalObj=parentObj.parentNode;
			$(globalObj).append('<div id="status_message'+nameVar+'" style="position:absolute; display:none"></div>');
			if(style==1)$('#status_message'+nameVar).attr('className','cartMessageList');
			else{
			
			if(style==0)$('#status_message'+nameVar).attr('className','cartMessage');
			else{
				$('#status_message'+nameVar).attr('className','cartMessageDetails'); 
				
				
				}
			}
      $('#status_message'+nameVar).ajaxComplete(
	  function(){
	  		//alert(style);
	  		
            $('#status_message'+nameVar).text('Продуктът е добавен успешно в количката!').fadeIn(500, function(){$(this).fadeOut(2500,function () { $(this).text(''); $(this).hide(); $(this).remove();} );});
			
			if(style==2)
			{	$('#status_message'+nameVar).css('left',parseInt(globalObj.offsetLeft)+145); 
				$('#status_message'+nameVar).css('top',parseInt(globalObj.offsetHeight)-34); 
			}
			else
			{
				$('#status_message'+nameVar).css('left', '0px');
				$('#status_message'+nameVar).css('top', '0px');
			}
			
			//parentId
            
         }
      );
	  $("div#status_message").ajaxError(
         function(){
		 	$('#indexProdsList').append('<div id="status_message'+product_id+'" style="position:absolute; display:none"></div>');
			$('#status_message'+nameVar).attr('className','cartMessage');
			
            $('#status_message'+nameVar).text('Поради грешка продуктът не бе добавен в количката!').fadeIn(500, function(){$(this).fadeOut(2500,function () { $(this).text(''); $(this).hide(); $('#status_message'+nameVar).remove();} );});
			if(style==2)
			{	$('#status_message'+nameVar).css('left',parseInt(globalObj.offsetLeft)+145); 
				$('#status_message'+nameVar).css('top',parseInt(globalObj.offsetHeight)-34); 
			}
			else
			{
				$('#status_message'+nameVar).css('left', '0px');
				$('#status_message'+nameVar).css('top', '0px');
			}
         }
      );
   }
}

function UpdateItem ( product_id ) {
   if ( product_id ) {
      var item_count = $('#count_'+product_id).val();

        $.get( 'buy_product.pcgi', { "product_id": product_id, "update_item": 1, "quantity": item_count }, function(data) { UpdateItems(data);} );
       }
}

function DeleteItem ( product_id ) {
   if ( product_id ) {
      $.get( 'buy_product.pcgi', { "product_id": product_id, "update_item": 1, "quantity": 0 }, function(data) { UpdateItems(data);} );
       }
}

function UpdateItems (json_data,product_id) {
   if ( typeof(json_data) != 'undefined' ) {
      var items_data = false;
      eval ('items_data = '+json_data);

      if (typeof(items_data) != 'undefined') {
         if( items_data['count'] == 0 ) {
            if ( items_data['total_count'] == 0 ) {
               $('div#emptyCartMessage').fadeIn();
               $('input[name="checkout1SubmitBtn"]').slideUp();
            }
            $('#product_'+items_data['product_id']).slideUp();
         } else {
            $('#count_'+items_data['product_id']).val(items_data['count']);
         }
      }
   }
}

function SetMessageLabel ( msg ) {
   if ( typeof(msg) != 'undefined' ) {
   	 
   	  $("div#status_message").stop();
      $('div#status_message').text(msg).fadeIn(200);
      $('div#status_message').fadeOut(2000,function () { $(this).text(''); $(this).hide(); } );
   }
}

function OrderItems(form_id) {
   $('#customer_name_msg').hide();
   $('#customer_phon_msg').hide();
   if ( typeof(form_id) != 'undefined' ) {
      if ( $('#checkoutForm2 input[name="customer_name"]').val() == '' ) {
         $('#customer_name_msg').show();
         return false;
      }
      if ( ! re_phone.test($('#checkoutForm2 input[name="customer_phon"]').val()) ) {
         $('#customer_phon_msg').show();
         return false;
      }
      return true;
   }
}

