    function reload_page(path)

	{

		parent.location = '../' + path;

	}



	function loader()

	{

	    scroll(0,0);

		document.getElementById('ajax_loader').style.display = "block";

	}

	function hide_loader()

	{

		document.getElementById('ajax_loader').style.display = "none";

	}

	function first_loader(type)

	{

		document.getElementById('first_loader').style.visibility = type;;

	}



    function paste_message(obj_id, text)

    {

        document.getElementById(obj_id).innerHTML = text;

    }



    function main_message(text, type)

    {

        //type  == 0 -> error

        //else       -> success

        scroll(0,0);

        if(type == 0) document.getElementById('main_message').className = "error";

        if(type == 1) document.getElementById('main_message').className = "success";

        hide_loader();

        document.getElementById('main_message').innerHTML = text;

        setTimeout("document.getElementById('main_message').innerHTML = ''", 8000);

    }



    function tag_message(text, type)

    {

        //type  == 0 -> error

        //else       -> success

        scroll(0,0);

        if(type == 0) document.getElementById('tag_message').className = "error";

        if(type == 1) document.getElementById('tag_message').className = "success";



        document.getElementById('tag_message').innerHTML = text;

        document.getElementById('tag_loader').style.visibility = "hidden";

//        setTimeout("document.getElementById('tag_message').innerHTML = ''", 8000);

        document.getElementById("submit_button").disabled      = false;

    }



    function change_value(id, value, active)

    {

        document.getElementById(id).value = value;

        document.getElementById(id).disabled = active;

    }

    function change_info(name) //for index page register/login/recover process

    {

        var data_login    = document.getElementById('data_login');

        var data_recover  = document.getElementById('data_recover');

        var data_register = document.getElementById('data_register');
		
		var data_register1 = document.getElementById('data_register1');

		//alert(data_register1.innerHTML);
			
        var info_login    = document.getElementById('info_login');

        var info_recover  = document.getElementById('info_recover');

        var info_register = document.getElementById('info_register');



        var main_table    = document.getElementById("main_table");



        if(name == "data_login")

        {

            data_login.style.display    = "block";

            data_recover.style.display  = "none";

            data_register.style.display = "none";



            info_login.style.display    = "block";

            info_recover.style.display  = "none";

            info_register.style.display = "none";

            main_table.style.height     = "150px";

        }

        else if(name == "data_recover")

        {

            data_login.style.display    = "none";

            data_recover.style.display  = "block";

            data_register.style.display = "none";
			


            info_login.style.display    = "none";

            info_recover.style.display  = "block";

            info_register.style.display = "none";

            main_table.style.height     = "150px";

        }

        else if(name == "data_register")

        {

            data_login.style.display    = "none";

            data_recover.style.display  = "none";

            data_register.style.display = "block";
			
			data_register.innerHTML=data_register.innerHTML;


            info_login.style.display    = "none";

            info_recover.style.display  = "none";

            info_register.style.display = "block";

            main_table.style.height     = "300px";

        }

        document.getElementById('simple_search').style.display = "none";

        document.getElementById('action').style.display        = "block";

    }



    function login_register(name)

    {

        if(name == "login")    change_info("data_login");

        if(name == "register") change_info("data_register");



        document.getElementById('simple_search').style.display = "none";

        document.getElementById('action').style.display        = "block";

    }



    function check_terms(obj)

    {

        var terms = obj.checked;

        if(terms == true) document.getElementById('create_submit_button').disabled = false;

        else              document.getElementById('create_submit_button').disabled = true;



    }



    function create_account()

    {

        var v_mail = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;



        var password        = document.getElementById("account_password").value;

        var second_password = document.getElementById("account_second_password").value;



        if( !v_mail.test(document.getElementById("account_email").value) )

		{

			var error_text = 'Email is invalid';

			paste_message("account_email_error", error_text);

			return false;

		}

        document.getElementById("create_submit_button").value = "Please wait...";

        xajax_CreateAccount(xajax.getFormValues("create_account_form"));

        return false;

    }



    function login()

    {

        var v_mail = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;

        if( !v_mail.test(document.getElementById("login_email").value) )

		{

			var error_text = 'Email is invalid';

			main_message(error_text, 0);

			return false;

		}

		document.getElementById("login_submit_button").value = "Please wait...";

        xajax_SubmitLogin(xajax.getFormValues("login_account_form"));

        return false;

    }





    function recover()

    {

        var v_mail = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;

        if( !v_mail.test(document.getElementById("recover_email").value) )

		{

			var error_text = 'Email is invalid';

			main_message(error_text, 0);

			return false;

		}

		document.getElementById("recover_submit_button").value = "Please wait...";

        xajax_RecoverPassword(xajax.getFormValues("recover_account_form"));

        return false;

    }



    function update_password()

    {

    	loader();

    	document.getElementById('submit_update_password').value = "Please wait";

    	xajax_UpdatePassword(xajax.getFormValues("update_password"));

    	return false;

    }



    function update_info()

    {

    	loader();

    	document.getElementById('submit_update_info').value = "Please wait";

    	xajax_UpdateInfo(xajax.getFormValues("update_info"));

    	return false;

    }



    function show_images()

    {

        document.getElementById("listing_images").style.display = "block";

        document.getElementById("add_button").style.display     = "none";

    }



    function change_specify(value)

    {

        document.getElementById('specify_block').style.display = value;

    }

    /**********************************/



    function add_listing_first()

    {

       first_loader("visible");

       change_value('continue', "Please wait...", true);

       clear_all();

       var d = document;

       var title_input        = document.getElementById('title');

       var desc_input         = document.getElementById('list_description');

       var price_input        = document.getElementById('price');

       var city_input         = document.getElementById('city');

       var web_address_input  = document.getElementById('web_address');

       var email_input        = document.getElementById('email');

       var v_mail = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;



        if(title_input.value == "")

       {

           show_test_error("Title required");

           title_input.className = "error_border";

           change_value('continue', "Continue", false);

           return false;

       }

       else if(desc_input.value == "")

       {



           show_test_error("Description required");

           desc_input.className = "error_border";

           change_value('continue', "Continue", false);

           return false;

       }

       else if(price_input.value == "")

       {

           show_test_error("Price required");

           price_input.className = "error_border";

           change_value('continue', "Continue", false);

           return false;

       }

       else if(check_numbers(price_input.value))

       {

           show_test_error("Price must contain numbers only");

           price_input.className = "error_border";

           change_value('continue', "Continue", false);

           return false;

       }

       else if(city_input.value == "")

       {

           show_test_error("City required");

           city_input.className = "error_border";

           change_value('continue', "Continue", false);

           return false;

       }

       else if(email_input.value != "")

       {



           if( !v_mail.test(email_input.value) )

		  {

               show_test_error("Email is invalid.");

               email_input.className = "error_border";

               change_value('continue', "Continue", false);

               return false;

		  }

       }



       if(web_address_input.value != "")

       {

           if(!isValidURL(web_address_input.value) || !isUrl(web_address_input.value))

           {

               show_test_error("URL is invalid.");

               web_address_input.className = "error_border";

               change_value('continue', "Continue", false);

               return false;

           }

       }



        xajax_AddListingFirst(xajax.getFormValues("add_listing_first_form"));

        return false;

    }



    function checkLoad()

    {

       if(document.getElementById('first_file').value!= "")

       {

           doLoad(document.getElementById('first_file'));

       }

       else if(document.getElementById('second_file').value!= "")

       {

            doLoadSecond(document.getElementById('second_file'));

       }

       else

       {

           xajax_UsersPage('distribute');

           return false;

       }



    }

    /**********************************/

    function show_test_error(text)

    {

        document.getElementById('errortxt').innerHTML = text;

        document.getElementById('errorDiv').style.display = "block";

        scroll(0,0);

        first_loader("hidden");

    }



    function clear_border(id)

    {

        document.getElementById(id).className         = "normal";

        document.getElementById('errortxt').innerHTML = "";

    }



    function clear_all()

    {



        document.getElementById('title').className       = "normal";

        document.getElementById('list_description').className = "normal";

        document.getElementById('price').className       = "normal";

        document.getElementById('city').className        = "normal";

        document.getElementById('web_address').className = "normal";

        document.getElementById('email').className       = "normal";

        document.getElementById('email').className       = "normal";

        document.getElementById('first_file').className  = "normal";

        document.getElementById('second_file').className = "normal";

    }



    function check_numbers(income) //return 0 if input contain numbers only

	{

		income = income.toString( );

		var flag = 0;

	      for (var i = 0; i < income.length; i++)

	      {

		        oneChar = income.charAt(i).charCodeAt(0);



		        if (oneChar >= 48 && oneChar < 58 || oneChar == 183 || oneChar == 130 || oneChar == 44 || oneChar == 46)  //numbers or . ,

		        {



		        }



		        else if( (oneChar > 96 && oneChar < 123) || (oneChar > 64 && oneChar < 91) ) //chars

		        {

		          flag = 1;

		        }



		        else // special chars

		        {

		              flag = 1;

		        }



		    }

		return flag;

	}





    function isUrl(s)

    {

        var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/

        return regexp.test(s);

    }



    function isValidURL(url)

    {

        var regexp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;

        return regexp.test(url);

    }



    function doLoad(value)

    {

      var req = new JsHttpRequest();

      req.onreadystatechange = function()

         {

         if (req.readyState == 4)

         {

               if(document.getElementById('second_file').value!= "")

               {

                   doLoadSecond(document.getElementById('second_file'));

               }

               else

               {

                   setTimeout("xajax_UsersPage('distribute')",1000);

               }

        }



     }

    // Prepare request object (automatically choose GET or POST).

        req.open(null, 'upload_loader.php?type=first', true);

        // Send data to backend.

        req.send( { file: value } );



    }

     function doLoadSecond(value)

    {

        var req = new JsHttpRequest();

        req.onreadystatechange = function()

        {

             if (req.readyState == 4)

             {

               setTimeout("xajax_UsersPage('distribute')",1000);

             }

        }

        // Prepare request object (automatically choose GET or POST).

        req.open(null, 'upload_loader.php?type=second', true);

        // Send data to backend.

        req.send( { file: value } );

    }





    function select_category(category_id)

    {

        document.getElementById('category_').style.border = "1px solid #ccc";

        xajax_GetSubcategories(category_id);

        return false;

    }



     function select_subcategory(subcategory_id)

    {

        xajax_GetSubSubcategories(subcategory_id);

        return false;

    }



    function distribute_listing()

    {



        var d = document;

        if(d.getElementById('category_').value=="")

        {

            scroll(0,0);

            d.getElementById('category_').style.border = "1px solid red";

            alert("Please choose some category for your listing");

        }

        else

        {

            first_loader("visible");

            change_value('continue', "Please wait...", true);

            loader();

            xajax_DistributeListing(xajax.getFormValues("distibute_listing"));

            return false;

        }





    }



    function OpenImagePopup(imgPath, title, alt) //open images in new window, center window, resize window according to image size

	{



    var win = window.open('','preview',

    'width=50,height=50,left=0,top=0,screenX=0,screenY=0,resizable=1,status=0');

    var winDoc = win.document;

    if (title == undefined) title = 'My Image, Click to Close';

    if (alt   == undefined) alt   = 'My Image, Click to Close';

    var content = '<html><head><title>' + title + '</title>' +

    			  '<style>body{overflow: hidden;margin:0;}img{border:0;}</style>' +

    			  '</head><body><div id="imagediv"><a href="javascript:self.close()">' +

    			  '<img alt="' + alt + '" id="image" src="' + imgPath + '" /></a></div></body></html>'

    win.document.write(content);

    winDoc.body.onload = function() {
		
		//alert(screen.width+'x'+screen.height);

		var screenwidth		=	screen.width;
		
		var screenheight	=	screen.height;
		
    	var obj1 = winDoc.getElementById('image');
		
		var imagewidth		=	obj1.width;
		
		var imageheight		=	obj1.height;
		
		//alert(obj.width+'x'+obj.height);
		var imageratio 		=	imagewidth/imageheight;
		
		var newimagewidth	=	imagewidth;
		
		var newimageheight	=	imageheight;
		
		 if(imageheight>screenheight)
		{
			newimageheight	=	screenheight-50;

			newimagewidth	=	newimageheight*imageratio;
			
		}
		else if (imagewidth>screenwidth)
		{
			newimagewidth	=	screenwidth-50;
			
			newimageheight	=	newimagewidth/imageratio;
			
		}
		else
		{
			newimagewidth	=	imagewidth;
		
			newimageheight	=	imageheight;
		}
		
		//alert(newimagewidth+'x'+newimageheight);
		
//		obj.width 	= 	newimagewidth;
	//	obj.height 	=	newimageheight;
		
		var content1 = '<a href="javascript:self.close()">' +

    			  '<img alt="' + alt + '" id="image" src="' + imgPath + '" width="'+newimagewidth+'px" height="'+newimageheight+'px" /></a>'

  			  winDoc.getElementById('imagediv').innerHTML	=	content1;

		var obj = winDoc.getElementById('image');
			
			
    	var w = obj.width, h = obj.height;

    	var iHeight= document.body.clientHeight, iWidth = self.innerWidth;

    	var left = (self.opera ? iWidth : screen.availWidth)/2 - w/2;

	  	var top =  (self.opera ? iHeight : screen.availHeight)/2 - h/2;


    	win.resizeTo(w+10, h+26);

    	win.moveTo(left, top);

    }



    win.onload = winDoc.body.onload; // special for Mozilla

    // !!! Very important statement: popup onload won't execute without it!

    win.document.close();

    win.focus();

	}



	function close_suggest()
	{

	    document.getElementById('tag_loader').style.visibility = "hidden";

		div=document.getElementById("suggest_tag");

		div.style.visibility ="hidden";

	}



	 function suggest_tag()
     {
  		scroll(0,0);

	 	var category_id = document.getElementById('category_').value;

  		div=document.getElementById("suggest_tag");

	 	div.style.visibility = "visible";
     }


      function send_suggested_tag()

      {

           var category_id    = document.getElementById("category_tag").value;

           var subcategory    = document.getElementById("subcategory").value;

           var subsubcategory = document.getElementById("subsubcategory").value;

           if(category_id == "")

           {

               alert("Please choose some category");

               return false;

           }



           var suggested_tag = document.getElementById("suggested_tag").value;

           if(suggested_tag == "" )

           {

               alert("Please suggest some tag");

               return false;

           }

           else if(suggested_tag.length <4)

           {

               alert("Tag length must be more than 3");

               return false;

           }

           document.getElementById('tag_loader').style.visibility = "visible";

           document.getElementById("submit_button").disabled      = true;

           xajax_SendTag(category_id, suggested_tag, subcategory, subsubcategory);

      }



      function report_abuse(user_id)

      {

         /*if(user_id == 0 || user_id == "")

         {

             alert("You have to login to make report!!!");

             return false;

         }*/



  		 scroll(0,0);

  		 div=document.getElementById("report_abuse");

	 	 div.style.visibility = "visible";



      }



      function close_abuse()

	 {

	    document.getElementById('tag_loader').style.visibility = "hidden";

		div=document.getElementById("report_abuse");

		div.style.visibility ="hidden";

  	 }



  	  function send_abuse()

      {

           var category   = document.getElementById("abuse_category").value;

           var text       = document.getElementById("abuse_text").value;

           var listing_id = document.getElementById("listing_id").value;



           if(text == "")

           {

               tag_message("Plese input some text",0);

               return false;

           }

           document.getElementById("submit_button").disabled      = true;

           document.getElementById('tag_loader').style.visibility = "visible";

           xajax_SendAbuse(listing_id, category, text);

      }
	  
	  
	   function send_abuse1(category)

      {

          // var category   = document.getElementById("abuse_category").value;

           var text       = category;
		   var answer = confirm("Are you  sure to rate this as "+ category)
			if (answer){


          
		   var listing_id = document.getElementById("listing_id").value;

		//	alert(category);

           if(text == "")

           {

               tag_message("Plese input some text",0);

               return false;

           }

           document.getElementById("submit_button").disabled      = true;

           document.getElementById('tag_loader').style.visibility = "visible";

           xajax_SendAbuse(listing_id, category, text);
		   
		}
		else
		{
				return false;
		}


      }
	  




      function delete_listing(listing_id)

      {

          loader();

           xajax_DeleteListing(listing_id, "");

           return false;

      }



      function uploader_feature_func()

      {

         var file    = document.getElementById('uploader_file');

         var row_num = document.getElementById('number_of_rows').value;

         if(file.value == '')

         {

              document.getElementById('uploader_file').style.border = "1px solid red";

              main_message("Please select some file",0);

              return false;

         }

         document.getElementById('uploader_file').style.border = "1px solid #bfbbb5";

         if(check_numbers(row_num) || row_num == "")

         {

             main_message("Please input number of rows in file!!!",0);

             document.getElementById('number_of_rows').style.border = "1px solid red";

             return false;

         }

         document.getElementById('number_of_rows').style.border = "1px solid #bfbbb5";



         document.getElementById('continue').value = "Please wait";

         document.getElementById('continue').disabled = true;



        var message  = "Please wait!!! Process can take some time depending on number of listings and images in file! <br>Avoid any intercation with browser while uploding file!!!";

        document.getElementById('main_message').className = "error";





        document.getElementById('main_message').innerHTML = message;



         loader();

         uploadFile(file, row_num);



      }





      function uploadFile(value, row_num)

      {

        var req = new JsHttpRequest();

        req.onreadystatechange = function()

        {

            if (req.readyState == 4)

            {

               if(req.responseJS.f_ext == "not_allowed")

               {

                   main_message("File type is incorrect. Please select csv file to upload!!!!", 0);

               }

               else if(req.responseJS.f_ext == "row_problem")

               {

                   if(req.responseJS.ret>1) are = " are ";

                   else                     are = " is";

                   main_message("Please check your file!!! You have entered " + row_num + " rows, but there " + are + req.responseJS.ret + " rows in file", 0);

               }

               else

               {

                   main_message("File has been uploaded successfully",1);

                   loader();

                   reload_page("account.php?action=my_ads");

               }

               document.getElementById('continue').value = "Upload";

               document.getElementById('continue').disabled = false;

            }

        }

        req.open(null, 'uploader_feature.php?row_num=' + row_num , true);

        req.send( { file: value } );

    }
	
	
	
	
	function checkPhoto(picField) {
 var picFile = picField;
 var imagePath = document.getElementById(picField).value;
 var pathLength = imagePath.length;
 var lastDot = imagePath.lastIndexOf(".");
 var fileType = imagePath.substring(lastDot,pathLength);
 if((fileType == ".gif") || (fileType == ".jpg") || (fileType == ".png") || (fileType == ".bmp")|| (fileType == ".GIF") || (fileType == ".JPG")|| (fileType == ".BMP") ||  (fileType == ".PNG")) {
  return true;
 } else {
  alert("Errot !: Please select a valid image.We supports .JPG, .PNG, and .GIF image formats. ");
  document.getElementById(picField).value="";
  
 }
}
